let?和?var?的差異
????????1.let?允許聲明一個在作用域限制在塊級中的變量、語句或者表達式,塊級作用域?{}
? ? ? ? ? ?var?聲明的變量只能是全局或者整個函數塊的
????????2.let?不能重復聲明
????????3.let?不會被預解析
手冊地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/let
const?常量
????????1.常量不能重新賦值
????????2.不能重復聲明
????????3.塊級作用域
????????4.const?不會被預解析
手冊地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/const
解構賦值
? ? ????a.對象解構:變量名?和?屬性名?要對應
? ? ????b.數組解構:變量名?和?值索引對應
手冊地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
1.對象的解構賦值
2.數組的解構賦值
3.字符串的解構賦值
...展開運算符
? ??????可以在函數調用/數組構造時, 將數組表達式或者string在語法層面展開;還可以在構造字面量對象時, 將對象表達式按key-value的方式
? ??????展開。(譯者注: 字面量一般指?[1, 2, 3]或者?{name: "mdn"}?這種簡潔的構造方式)
????????手冊地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Spread_syntax
1.對象展開
2.數組展開
repeat重復
[...(".".repeat(10))]