Rumah > hujung hadapan web > tutorial js > Bagaimanakah Kata Kunci `baru` Berfungsi dalam JavaScript untuk Mencipta Objek dan Melaksanakan Warisan?

Bagaimanakah Kata Kunci `baru` Berfungsi dalam JavaScript untuk Mencipta Objek dan Melaksanakan Warisan?

Linda Hamilton
Lepaskan: 2024-12-24 12:24:11
asal
1027 orang telah melayarinya

How Does the `new` Keyword Work in JavaScript to Create Objects and Implement Inheritance?

Meneroka Kata Kunci 'baharu' dalam JavaScript

Memahami Kata Kunci 'baharu'

Dalam JavaScript, kata kunci 'baharu' memainkan peranan penting dalam penciptaan objek dan konsep pewarisan. Walaupun reputasi JavaScript sebagai bahasa bukan berorientasikan objek, ia memperkenalkan pendekatan unik kepada pengaturcaraan berasaskan objek melalui kata kunci 'baharu'.

Tujuan Kata Kunci 'baharu'

Kata kunci 'baru' mempunyai beberapa tanggungjawab utama:

  1. Objek Penciptaan: Ia memulakan penciptaan objek baharu.
  2. Tetapan Prototaip: Ia menetapkan sifat dalaman [[prototaip]] objek yang baru dicipta kepada objek prototaip luaran fungsi pembina.
  3. Rujukan 'ini': Ia memberikan pembolehubah 'ini' kepada objek yang baru dicipta.
  4. Invokasi Pembina: Ia mencetuskan pelaksanaan fungsi pembina dengan objek yang baru dicipta sebagai konteks.
  5. Pemulangan Objek: Ia mengembalikan objek yang baru dibuat, melainkan fungsi pembina mengembalikan objek bukan nol rujukan.

Memahami [[prototaip]] dan Sifat 'prototaip'

  • [[prototaip]] Sifat: Sifat dalaman ini unik untuk setiap objek dan menyimpan rujukan kepada prototaip objek. Ia tidak boleh diubah suai secara langsung tetapi boleh diakses menggunakan Object.getPrototypeOf().
  • Harta 'prototaip': Ini ialah harta boleh diakses eksklusif untuk objek berfungsi. Ia membenarkan akses kepada objek prototaip yang akan dikongsi oleh semua kejadian yang dibuat menggunakan fungsi sebagai pembina.

Contoh Penciptaan Objek dengan 'baharu'

function ObjMaker() { this.a = 'first'; }
// 'ObjMaker' is the constructor function

ObjMaker.prototype.b = 'second';
// 'ObjMaker.prototype' is the prototype object

obj1 = new ObjMaker();
// 'new' creates a new 'obj1' object, assigns the prototype, and executes 'ObjMaker'

obj1.a; // 'first'
obj1.b; // 'second'
// 'obj1' inherits 'b' from 'ObjMaker.prototype' while still accessing its own property 'a'
Salin selepas log masuk

Hierarki Pewarisan dengan 'baru'

Melalui kata kunci 'baharu', JavaScript membenarkan model pewarisan berasaskan prototaip. Dengan menetapkan sifat [[prototaip]], objek mewarisi sifat dan kaedah daripada prototaip pembinanya. Ini membolehkan penciptaan subkelas yang memanjangkan kelas sedia ada, seperti ini:

function SubObjMaker() {}
SubObjMaker.prototype = new ObjMaker(); // deprecated, use Object.create() now

SubObjMaker.prototype.c = 'third';
obj2 = new SubObjMaker();

obj2.c; // 'third'
obj2.b; // 'second'
obj2.a; // 'first'
// 'obj2' inherits 'c' from 'SubObjMaker.prototype', 'b' from 'ObjMaker.prototype', and 'a' from 'ObjMaker'
Salin selepas log masuk

Ringkasnya, kata kunci 'baharu' dalam JavaScript bukan sahaja memudahkan penciptaan objek tetapi juga membolehkan mekanisme pewarisan fleksibel yang menyerupai berasaskan kelas pengaturcaraan.

Atas ialah kandungan terperinci Bagaimanakah Kata Kunci `baru` Berfungsi dalam JavaScript untuk Mencipta Objek dan Melaksanakan Warisan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan