7.用途
(1)不存在變數提公升(宣告前使用報錯)
(2)暫時性死區(先宣告,後使用)
(3)不允許在相同作用域內重複宣告
(4)塊級作用域(es6:塊級作用域內宣告函式相當於var;es5:塊級作用域內宣告的函式類似於let;塊級作用域內宣告let變數或函式必須有{})
(1)變數值不可變
(2)不存在變數提公升
(3)存在暫時性死區
(4)不可重複宣告
(1)set資料結構:類似陣列,但成員的值是唯一的,沒有重複的值,即可以去除陣列的重複成員
(2)允許指定預設值
let
[x, y =
'b']=[
'a', undefined]
;// x='a', y='b'
(1)object.setprototypeof(obj, prototype):將乙個指定的物件的原型設定為另乙個物件或者null
(2)解構也可以用於巢狀結構的物件
(3)物件的解構賦值可以取到繼承的屬性
(4)物件的解構也可以指定預設值
6.1以下幾種情況不可使用圓括號()
(1)變數宣告語句
(2)函式引數
(3)賦值語句的模式
// 全部報錯()
=;([a])=
[5];
[(),
]=[,
];
6.2可使用圓括號的情況:賦值語句的非模式部分[
(b)]=[
3];// 正確(=
);// 正確
[(parseint.prop)]=
[3];
// 正確
(1)交換變數的值
(2)從函式返回多個值
(3)函式引數的定義
(4)提取 json 資料
(5)函式引數的預設值
(6)遍歷 map 結構
map:es提供的一種字典資料結構,用來儲存不重複key的hash結構。不同於集合(set)的是,字典使用的是鍵值對的形式來儲存資料.
(7)輸入模組的指定方法
ES6 let與const,解構賦值
ecma script2015以後的 沒有塊級作用域,導致var在for if內宣告的變數可以被全域性訪問 es6之前的解決辦法使用iife 立即執行函式 變數提公升,使 不好理解。舉例 var a 1 function show show 結果是a undefined 複製 let宣告的變數有塊級...
學習筆記 Es6 let和const
console.log insane 報錯 上面 使用了乙個五層的塊級作用域,每一層都是乙個單獨的作用域。第四層作用域無法讀取第五層作用域的內部變數。但內層作用域可以定義外層作用域的同名變數。如下 2 塊級作用域的出現,實際上使得獲得廣泛應用的匿名立即執行函式表示式 匿名 iife 不再必要了。ii...
ES6 let 和 const命令(學習筆記)
1.暫時性死區 只要塊級作用域內有 let 命令,它所宣告的變數就繫結 bounding 這個區域,不再受外部的影響。也就是說在 塊內使用 let 命令宣告變數之前,該變數都是不可用的,在語法上,這被稱為 暫時性死區 var tmp 123 if true es6明確規定,如果區塊中存在 let 和...