es6 bukan rangka kerja, tetapi standard bahasa JavaScript. es6 ialah versi ke-6 ECMAScript, bahasa pengaturcaraan skrip yang diseragamkan oleh Ecma International (sistem keahlian antarabangsa untuk organisasi piawaian maklumat dan telekomunikasi) melalui ECMA-262 ia adalah teras bahasa skrip JavaScript, menyediakan sintaks dan sintaks bahasa.
Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
es6 bukan rangka kerja, tetapi standard bahasa JavaScript.
Nama penuh es6 ialah ECMAScript6 (versi ke-6 ECMAScript) Ia adalah standard untuk bahasa JavaScript yang dikeluarkan secara rasmi pada Jun 2015. Ia secara rasmi dipanggil ECMAScript 2015. (ES2015). Matlamatnya adalah untuk membolehkan bahasa JavaScript digunakan untuk menulis aplikasi berskala besar yang kompleks dan menjadi bahasa pembangunan peringkat perusahaan.
Dan ECMAScript ialah bahasa pengaturcaraan skrip yang diseragamkan oleh Ecma International melalui ECMA-262. Bahasa ini digunakan secara meluas di World Wide Web Ia sering dipanggil JavaScript atau JScript, jadi ia boleh difahami sebagai standard JavaScript, tetapi sebenarnya dua yang terakhir adalah pelaksanaan dan sambungan standard ECMA-262.
Hubungan antara JavaScript dan ECMAScript
Kadang-kadang orang menganggap JavaScript dan ECMAScript sebagai sama, tetapi JavaScript tidak mengandungi lebih banyak kandungan daripada ECMA-262 lebih banyak peruntukan dalam , JavaScript lengkap terdiri daripada tiga bahagian berikut:
Teras (ECMAScript): Menyediakan sintaks dan objek asas bahasa; >
Model Objek Dokumen (DOM): Menyediakan kaedah dan antara muka untuk memproses kandungan web;2 Rangka kerja bahagian hadapan yang lebih baharu dalam industri telah menggunakan sintaks ES6 sepenuhnya
3. dan lain-lain semuanya berdasarkan sintaks ES6 4. Bermula dari pekerjaan, syarikat kecil dan sederhana, tindanan penuh, satu lagi kemahiran pada resume, dan tempoh percubaan juga boleh membantu anda bermula dengan lebih cepat. Pembolehubahbiar Hanya satu pembolehubah let boleh diisytiharkan dalam skop Jika the child Jika pembolehubah let turut diisytiharkan dalam skop, ia tidak akan menjejaskan pembolehubah let dalam skop induk.
Prinsip Ciri berorientasikan objek JavaScript adalah berdasarkan prototaip dan pembina, yang berbeza daripada yang berasaskan kelas biasa. JavaScript tidak menyediakan ciri peringkat bahasa bagi warisan objek, tetapi melakukannya melalui penyalinan prototaip.
1. {pojo}(实例变量、实例方法、get、set) 2. function(实例变量、实例方法、prototype、apply、call) 3. class(实例变量、实例方法、prototype、extends、super)
Warisi
function Person(name,age){ /* 父类 */ this.name = name || 'father'; //实例变量 this.namesonF = this.nameson; this.age = age; this.talk = function(){alert("talk");}; //实例方法 }; function Son(name){ /* 子类 */ this.nameson = name || 'son'; // Person.call(this,'name',18); //继承:构造继承,复制父类的实例属性给子类,不能继承原型属性/方法 Person.apply(this,['name',18]); //继承:构造继承,复制父类的实例属性给子类,不能继承原型属性/方法 } // Son.prototype = new Person("zhangsan",19); //继承:原型链继承,父类的实例作为子类的原型,拷贝属性两次,不合理 Son.prototype = Person.prototype; //继承:原型链继承,父类的实例作为子类的原型 Person.prototype.publicParam="param1"; //动态添加实例变量 Person.prototype.talk=function(){alert("talk");} //动态添加实例方法 var son = new Son(); //实例化对象,调用构造函数(constructor)
class Point { constructor(x, y) { this.x = x; //实例变量 this.y = y; } } class Son extends Point { constructor(z, w) { super(z,w); this.z = z; //实例变量 this.w = w; } } var son = new Son(1,2);
arrow functions
箭头函数,是ES6中新加入的语法,于Java的lambda,scala的函数式语法非常相似
var single = a => console.log(a); var single = (a) => (console.log(a)); var single = (a, b) => {console.log(a + b)}; var single = (a, b) => {return a + b};
template string
模版字符串,字符串拼接的新语法
var templateStr = () => { var str1 = "adsf\nsdfa"; var template1 = `<ul><li>first</li> <li>second</li></ul>`; var x = 1; var y = 2; var template2 = `${x} + ${y} = ${x + y}`; var template3 = `${lettest4()}`; console.log(str1) console.log(template1) console.log(template2) console.log(template3) }
destructuring
重构/解构,变量交互的语法
var destructuring = () => { var [a,b,...c]=[1,2,3,4,5,6,7,8,9,10]; let [temp="replaceString"] = ["tempString"]; let [age2, [{name: fname},{age: fname2="replaceString"}]] = [20, [{name: 'qc'},{}]]; const [aa,bb,cc,dd,ee,ff]="hello"; let {name="replaceName",age,id}={name:'cursor',age:19,id:'vc6dfuoc91vpdfoi87s'}; let {type:tipType,min:minNumber}={type:'message',min:20}; let {sin,cos,tan,log}=Math; var fun = function({x,y}={}){return [x,y];} fun({x:100,y:2}); [a,b]=[b,a]; //交换 var map = [1,2,3] var map=new Map(); map.set("id","007"); map.set("name","cursor"); for(let [key,value] of map){} for(let [key] of map){} for(let [,value] of map){} var arr = [1,2,3,4] for(let val of arr){val} }
arguments
实参,ES6中加入的直接读取参数的变量
function argumentsTest(a,b) { for(let val of arguments) {console.log(val) } }
【相关推荐:javascript视频教程、编程视频】
Atas ialah kandungan terperinci Adakah es6 satu rangka kerja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!