javascript與es6的差異:1、JavaScript一種動態型別、弱型別、基於原型的客戶端腳本語言,用來為HTML網頁增加動態功能,es6是JavaScript語言的下一代標準;2 、es6是JavaScript的語言規範,JavaScript是es6的一種實作。
本教學操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。
JavaScript是什麼
JavaScript一種動態類型、弱型別、基於原型的客戶端腳本語言,用來為HTML網頁增加動態功能
動態:在執行時確定資料類型。變數使用之前不需要型別聲明,通常變數的型別是被賦值的那個值的型別。
弱類:計算時可以不同型別之間對使用者透明地隱式轉換,即使型別不正確,也能透過隱式轉換得到正確的型別。
原型:新物件繼承物件(作為模版),將自身的屬性共享給新對象,模版物件稱為原型。這樣新物件實例化後不但可以享有自己建立時和執行時定義的屬性,而且可以享有原型物件的屬性。
ES6是什麼
ECMAScript 6.0(以下簡稱ES6)是JavaScript語言(現在是遵循ES5標準)的下一代標準,已經在2015年6月正式發布了。它的目標,是使得JavaScript語言可以用來編寫複雜的大型應用程序,成為企業級開發語言。
ES6的新特性
ES6中的let指令,宣告變量,用法和var差不多,但是let是為JavaScript新增了區塊級作用域,ES5中是沒有區塊級作用域的,且var有變數提升的概念,但是在let中,使用的變數一定要進行宣告。
ES6中變數的解構賦值,例如:var [a,b,c] = [0,1,2];
ES6中不再像ES5一樣使用原型鏈實作繼承,而是引入Class這個概念,聽起來和Java中的物件導向程式設計的語法有些像,但是二者是不一樣的。
ES6中的函數定義也不再使用關鍵字function,而是利用了=>來定義;
ES6中可以設定預設函數參數,如function A(x,y=9){};
#ECMAScript和JavaScript的關係式
由於JavaScript的創造者Netscae公司的版權問題,ECMAScript不能叫Javascript。總之,ECMAScript和JavaScript的關係是,前者是後者的規格(語言規範),後者是前者的一種實作。
擴展知識
ES6特性如下:
1.區塊級作用域關鍵字let, 常數const
2.物件字面量的屬性賦值簡寫(property value shorthand)
var obj = { // __proto__ __proto__: theProtoObj, // Shorthand for ‘handler: handler’ handler, // Method definitions toString() { // Super calls return "d " + super.toString(); }, // Computed (dynamic) property names [ 'prop_' + (() => 42)() ]: 42 };
3.賦值解構
let singer = { first: "Bob", last: "Dylan" }; let { first: f, last: l } = singer; // 相当于 f = "Bob", l = "Dylan" let [all, year, month, day] = /^(dddd)-(dd)-(dd)$/.exec("2015-10-25"); let [x, y] = [1, 2, 3]; // x = 1, y = 2
4.函數參數- 預設值、參數打包、陣列展開( Default 、Rest 、Spread)
//Default function findArtist(name='lu', age='26') { ... } //Rest function f(x, ...y) { // y is an Array return x * y.length; } f(3, "hello", true) == 6 //Spread function f(x, y, z) { return x + y + z; } // Pass each elem of array as argument f(...[1,2,3]) == 6
【相關推薦:javascript影片教學、web前端】
以上是javascript與es6的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!