Rumah  >  Artikel  >  hujung hadapan web  >  Apakah perbezaan antara pembina es6 dan es5

Apakah perbezaan antara pembina es6 dan es5

WBOY
WBOYasal
2022-04-25 17:48:012333semak imbas

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.

Apakah perbezaan antara pembina es6 dan es5

Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.

Apakah perbezaan antara pembina es6 dan es5?

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

ES5 baharu

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"}

ES6

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!

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