本人最近被es6感興趣了,學習一些,以下就是自己總結的一些小知識
嚴格模式
es6 的模組自動採用嚴格模式,不管你有沒有在模組頭部加上"use strict";
。
嚴格模式主要有以下限制。
arguments.callee 與 argument.caller
functionfathercheck()
}}fathercheck();
arguments.callee返回soncheck的函式體(當前正在執行的函式),soncheck.caller返**用soncheck的函式,即check,而再往上一層,soncheck.caller.caller就是返**用check的函式體,也就是fathercheck。那如果是繼續往上一層呢?soncheck.caller.caller.caller?就會變成null。書裡也有講,arguments.caller在非嚴格模式下永遠是undefined。我們就可以判斷值是null還是undefined來區分arguments.caller和函式的caller。
2、let 與 const
es5中的var變數 , 1)沒有塊級作用域;2)指向全域性,可以解析和變數的提前宣告;3)可以相互覆蓋
es6中的const 主要是為了讓變數更加安全,不會相互覆蓋(唯讀屬性)
es6中的let 1)沒有解析與變數的提前宣告,只能宣告後呼叫; 2)不指向全域性,塊級作用域,作用域更安全;3)不能重複宣告,否則會報錯
var b = [1,2,3,4,5,6,7,8,9,10];for(let i=0; i)
//b[i](); 輸出
0 1 2 3 4 5 6 7 8 9
}b[6](); // 6
b[i](); //報錯
3、解構賦值
你點的 ES6一些小技巧,請查收
es6出來已經有好幾年了,同時很多新特性可以被巧妙地運用在專案中。我想要列下其中一些,希望它們對你有用。如果你還知道其他一些小技巧,歡迎留言。我很高興把它們補充進來。1.強制要求引數 es6提供了預設引數值機制,允許你為引數設定預設值,防止在函式被呼叫時沒有傳入這些引數。在下面的例子中,我們寫了乙個...
es6的一些技巧
1,強制要求引數 es6 有預設引數設定機制 允許在入參的括號裡給引數賦予預設值 防止函式在呼叫時沒有傳參 我們知道在js函式在入參的時候是入幾個都可以的 這就給了我們發揮的空間,我們來強制要求引數必須有 否則就報錯 const required const add a required b req...
es6的一些筆記
new set 用來去重陣列。let arr 1,2,2,3 let set new set arr let newarr array.from set console.log newarr 1,2,3 set類似於陣列,區別在於它所有的成員都是唯一的,不能有重複的值 展開運算子 合併陣列 let ...