Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Adakah terdapat warisan dalam es6?
Ada pewarisan dalam es6. Dalam es6, anda boleh menggunakan kata kunci extends untuk mewarisi mana-mana objek dengan pembina dan prototaip Anda bukan sahaja boleh mewarisi kelas, tetapi juga mewarisi pembina biasa ialah pembina kelas, yang akan dipanggil secara automatik apabila mencipta contoh kelas melalui kaedah baru.
Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.
Salah satu ciri baharu ECMAScript 6 yang paling cemerlang ialah sokongan asli untuk mekanisme pewarisan kelas. Walaupun mekanisme pewarisan kelas menggunakan sintaks baharu, rantai prototaip masih digunakan di belakangnya.
Kelas ES6 menyokong warisan tunggal. Menggunakan kata kunci extends, anda boleh memanjangkan mana-mana objek yang mempunyai [ [ constructor ] ] dan prototaip. Untuk sebahagian besar, ini bermakna anda boleh mewarisi bukan sahaja kelas, tetapi juga pembina biasa.
Dalam ES6, kami mempunyai gula sintaksis dan memperkenalkan konsep kelas, dan dalam kelas, terdapat kaedah atribut lalai: pembina. Kaedah ini ialah pembina kelas Kaedah ini dipanggil secara automatik apabila kita mencipta contoh kelas melalui baru.
Kaedah yang ditakrifkan pada kelas dan prototaip akan dibawa ke kelas terbitan.
class Vehicle { //原型上的方法 identifyPrototype( id ){ console.log( id, this ); // this 实例 } static identifyClass( id ){ console.log( id, this ); // this Vehicle 类 } }
Kaedah kelas terbitan boleh merujuk prototaip mereka melalui kata kunci super. Kata kunci ini hanya boleh digunakan dalam kelas terbitan, dan hanya dalam pembina kelas, kaedah contoh dan kaedah statik. Gunakan super dalam pembina kelas untuk memanggil pembina kelas induk.
melanjutkan kata kunci, super()
melanjutkan bermaksud mewarisi kelas induk, super() bermaksud pembina kelas induk, kaedah penulisan diteruskan seperti di atas:
Maka ia harus jelas di sini Berbanding dengan perubahan yang menyusahkan dalam penunjuk ini dan penunjuk pembina dalam ES5, ia boleh diselesaikan dengan terus menggunakan extends dan super()
[Cadangan berkaitan:<.>tutorial video javascript, bahagian hadapan web】
Atas ialah kandungan terperinci Adakah terdapat warisan dalam es6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!