es6 一些小知識

2022-07-20 05:30:16 字數 990 閱讀 6587

本人最近被es6感興趣了,學習一些,以下就是自己總結的一些小知識

嚴格模式

es6 的模組自動採用嚴格模式,不管你有沒有在模組頭部加上"use strict";

嚴格模式主要有以下限制。

arguments.callee  與 argument.caller

function

fathercheck()

}}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 ...