Rumah >hujung hadapan web >tutorial js >Notasi Literal Berasaskan Pembina lwn Objek: Manakah Lebih Cekap Memori?

Notasi Literal Berasaskan Pembina lwn Objek: Manakah Lebih Cekap Memori?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-12 05:08:02899semak imbas

Constructor-Based vs. Object Literal Notation: Which is More Memory Efficient?

Membandingkan Notasi Literal Berasaskan Pembina dan Objek

Dalam JavaScript, objek boleh dibuat menggunakan sama ada sintaks berasaskan pembina (mis., Objek baharu ()) atau notasi literal objek ({}).

Persamaan dan Perbezaan

Kedua-dua pendekatan menghasilkan penciptaan objek baharu; namun, terdapat perbezaan utama apabila kaedah terlibat.

Sintaks Berasaskan Pembina

Menggunakan kata kunci baharu, sintaks berasaskan pembina mencipta contoh baharu fungsi (biasanya dikenali sebagai fungsi pembina). Contohnya:

function Person(name) {
  this.name = name;
}

const person1 = new Person("John");

Ini mencipta objek Orang dengan sifat nama yang ditetapkan kepada "John."

Notasi Tersurat Objek

Tersurat objek tatatanda menggunakan pendakap kerinting untuk menentukan objek. Ia membolehkan penciptaan langsung objek tanpa memerlukan fungsi pembina. Contohnya:

const person2 = {
  name: "Jane"
};

Ini juga mencipta objek Orang dengan sifat nama ditetapkan kepada "Jane."

Definisi Kaedah

Yang penting perbezaan timbul apabila mentakrifkan kaedah untuk objek.

Berasaskan Pembina Sintaks

Dengan sintaks berasaskan pembina, kaedah ditakrifkan dalam fungsi pembina itu sendiri. Contohnya:

function Person(name) {
  this.name = name;

  this.sayHello = function() {
    console.log(`Hello, my name is ${this.name}.`);
  }
}

Notasi Literal Objek

Apabila menggunakan notasi literal objek, kaedah boleh ditambah menggunakan notasi titik atau notasi kurungan. Contohnya:

const person2 = {
  name: "Jane",
  sayHello: function() {
    console.log(`Hello, my name is ${this.name}.`);
  }
};

Kecekapan Memori

Pilihan antara notasi literal berasaskan pembina dan objek bergantung pada situasi. Sintaks berasaskan pembina melibatkan penciptaan contoh baharu fungsi untuk setiap objek, yang boleh menjadi intensif memori. Sebaliknya, notasi literal objek berkongsi kaedah antara objek, menghasilkan kecekapan memori yang lebih baik, terutamanya apabila berurusan dengan berbilang objek atau sejumlah besar kaedah.

Atas ialah kandungan terperinci Notasi Literal Berasaskan Pembina lwn Objek: Manakah Lebih Cekap Memori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn