ES6 let與const以及變數的解構賦值

2021-10-06 23:34:36 字數 1090 閱讀 7957

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