Rumah > Artikel > hujung hadapan web > Apakah perbezaan antara pembina es6 dan es5
Perbezaan: 1. Pembolehubah kelas dalam pembina es6 tidak akan dipromosikan, iaitu, objek hanya boleh dibuat selepas definisi kelas, manakala mengisytiharkan pembina dalam es5 akan menaikkan pembolehubah ; 2. Ini tidak mungkin dalam es6 Panggil pembina secara langsung Dalam es5, anda boleh memanggil pembina secara terus dan menggunakan pembina sebagai fungsi biasa.
Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.
Gunakan pembina untuk membina objek boleh guna semula
Pembina ialah fungsi yang anda bina. Terdapat kaedah khas perbezaan kualitatif antara fungsi biasa Fungsi mereka digunakan terutamanya untuk memulakan objek apabila membuat objek, iaitu untuk memberikan nilai awal kepada ahli objek Ciri-ciri utama pembina adalah nama kaedah, huruf pertama adalah huruf besar. dan ia digunakan dengan
function foo(){ this.name = 'Katherine'; this.age = '26'; } var f = new foo(); console.log(f) //Object console.log(f.name) //Katherine console.log(f.age) //26 function foos(name,age,sex){ this.name = name; this.age = age; this.sex = sex; } var f1 = new foos('Kathrine', '26', 'female'); var f2 = new foos('Stefan', '27', 'male'); var f3 = new foos('Damon', '29', 'male'); console.log(f1) //foos {name: "Kathrine", age: "26", sex: "female"} console.log(f2) //foos {name: "Stefan", age: "27", sex: "male"} console.log(f3) //foos {name: "Damon", age: "29", sex: "male"}
class foo{ constructor(){ this.name = 'Karherine'; this.age = '26'; } vampire(va){ console.log('Her name is '+this.name+' and she was '+this.age+' years old') } } let f = new foo() f.vampire(); //Her name is Karherine and she was 26 years old //继承原型 class foos extends foo{ constructor(){ super(); this.name = 'Stefan'; this.age = '27'; } } let f1 = new foos(); f1.vampire(); //His name is Stefan and he was 27 years old
1 pembina dan menggunakannya sebagai fungsi biasa. Contohnya, function foo();
2. ES6 mesti menggunakan new untuk menjana objek dan tidak boleh memanggil pembina secara langsung untuk menggunakannya sebagai fungsi biasa.
Tidak seperti ES5, pembolehubah kelas tidak akan dipromosikan, yang bermaksud objek hanya boleh dibuat selepas kelas ditakrifkan.
Panggilan kelas mesti menggunakan baharu dan pembina biasa boleh digunakan sebagai fungsi biasa.
[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]
Atas ialah kandungan terperinci Apakah perbezaan antara pembina es6 dan es5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!