首頁  >  文章  >  web前端  >  javascript與es6的差別是什麼

javascript與es6的差別是什麼

WBOY
WBOY原創
2022-07-28 16:57:175224瀏覽

javascript與es6的差異:1、JavaScript一種動態型別、弱型別、基於原型的客戶端腳本語言,用來為HTML網頁增加動態功能,es6是JavaScript語言的下一代標準;2 、es6是JavaScript的語言規範,JavaScript是es6的一種實作。

javascript與es6的差別是什麼

本教學操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。

javascript與es6的差異是什麼

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn