關於ES6(一,let和const)
阿新 • • 發佈:2022-03-08
ES 的全稱是 ECMAScript , 它是由 ECMA 國際標準化組織,制定的一項指令碼語言的標準化規範,ES6 全稱 ECMAScript 6.0 ,是 JavaScript 的下一個版本標準,2015.06 發版。
let、const 和 block 作用域
let 允許建立塊級作用域,ES6 推薦在函式中使用 let 定義變數,而非 var,
使用let宣告的變數,具有塊級作用域,有且僅有let宣告的才有此特性:
if (true) { let a = 10; } console.log(a) // a is not defined
另外,let宣告的變數在作用域中不受外界定義的影響:
let a=50 if(true){ let a=10 console.log(a)//輸出10 }
let 小結:
-
let關鍵字就是用來宣告變數的
-
使用let關鍵字宣告的變數具有塊級作用域
備這種條件
-
防止迴圈變數變成全域性變數
-
使用let關鍵字宣告的變數沒有變數提升
-
使用let關鍵字宣告的變數具有暫時性死區特性
-
來說說const吧
-
同樣在塊級作用域有效的另一個變數宣告方式是 const,它可以宣告一個常量
所謂常量,就是不能再被改變的量,並且使用const宣告必須賦值,否者會報錯:
const L = 3; L = 100; // Assignment to constant variab
但在這種情況是例外的:
-
const ary = [100, 200]; ary[0] = 'a'; ary[1] = 'b'; console.log(ary); // ['a', 'b']; ary = ['a', 'b']; // Assignment to constant variable.
可以通過陣列定義改變陣列內的值,但改變之後,仍不可再改變否則仍會報錯