es6 最近炒得火熱,準備寫一下es6規範的主要內容。在這之前先複習一下es5相關的內容。
es5 總體來說改動很少,最重要的是如下幾個改動:
可以在函式定義的第一行通過乙個字串語法把這個函式宣告為嚴格模式
function()
預設支援json.parse
和json.stringify
現在可以對乙個物件的屬性設定getter
setter
:
var obj = {};
object.defineproperty(obj, "name", ,
set: function(n)
})
可以定義乙個物件的屬性是否可以修改、是否可以刪除、是否可以新增:
object.defineproperty( obj, "value", );
現在可以直接凍結乙個物件,凍結分兩種:
現在可以更方便的遍歷物件的屬性了:
陣列新增了如下常用的方法:
所以你可以放心的寫如下**:
[1,2,3].map(function(a))
ES6和ES5的區別
es6和es5的區別?1 定義變數 es5中用 var function es6中用 let const class import 沒有變數提公升 同乙個作用域中不可重複宣告 不會給window增加全域性屬性 會形成塊級作用域 const設定的變數值是不可修改的 理解為常量 暫時性死區 2 解構賦值...
ES6與ES5差別簡述
es6與es5差別 1 es6新增了let命令,用來宣告變數。它的用法類似於var,但是所宣告的變數,只在let命令所在的 塊內有效。a 1 b undefined let不像var存在變數提公升,即變數一定要宣告之後才能使用。2 塊級作用域 es5只有全域性作用域和函式作用域,沒有塊級作用域。3 ...
es6和es5的區別
1 es6新增了let命令,用來宣告變數。它的用法類似於var,但是所宣告的變數,只在let命令所在的 塊內有效。a b let不像var存在變數提公升,即變數一定要宣告之後才能使用 2 塊級作用域 es5只有全域性作用域和函式作用域,沒有塊級作用域 3 變數的結構賦值 var a,b,c 1,2,...