ES6新增關鍵字

2021-09-28 11:02:56 字數 1826 閱讀 5020

let 關鍵字特點

塊級作用域:if語句和for語句之類的大括號會隔離作用域
if

(true

)console.

log(a)

;// 10

console.

log(b)

;// 報錯 referenceerror: b is not defined

console.

log(a)

;// 因為有變數宣告的提公升所以會輸出 undefined

console.

log(b)

;// 報錯 referenceerror: cannot access 'b' before initialization

var a =10;

let b =

10;

var a =10;

var a =11;

console.

log(a)

;let a =12;

// 報錯 syntaxerror: identifier 'a' has already been declared

var a =11;

console.

log(a)

;// 11

console.

log(window.a)

;// 11 var定義的全域性變數會被註冊到window身上

let a =10;

console.

log(a)

;// 10

console.

log(window.a)

;// undefined

額外說明: 有一些變數不要定義在全域性中	window含有的屬性

// 比如 top status name

var top =10;

console.

log(top)

// 輸出的是window物件

1<

/li>

2<

/li>

3<

/li>

4<

/li>

5<

/li>

<

/ul>

for(

let i =

0; i < lis.length; i++)}

<

/script>

const關鍵字
const關鍵字用於定義常量 與let的區別就在於儲存的內容不能變 其餘的特點與let一模一樣
// const a; // 報錯 syntaxerror: missing initializer in const declaration

// a = 11; // 報錯 typeerror: assignment to constant variable.

// const只管變數是否被賦予新的值 不會在意值的內容的變化

const obj =

// const定義的常量通常是值型別

// 如果是引用型別 只要變數所儲存的位址不發生變化 const並不關心位址所儲存的內容是否變化

console.

log(obj)

;// 輸出 沒有任何內容

settimeout

(function()

,1000

);

ES6 新增關鍵字let const

1 es6中新增的let關鍵字 之前我們宣告乙個變數時,都是使用關鍵字var,那新增加的let和var有什麼不同呢?var的不足之處一 var arr for vari 0 i 10 i arr 8 console.log i 的結果為 10 同樣的換成 let之後就沒問題 var arr for ...

es6之let,const關鍵字

在es5中沒有塊級作用域,只有函式作用域和全域性作用域,例如不能成為乙個作用域,但在es6中可以 for var i 0 i 4 i console.log i i 4這是因為i是在全域性的,最後列印的是for迴圈裡面最後的結果。用let替換var則結果為not defined。for let i ...

ES6 之關鍵字 let

正如大家都熟悉的,我們平時在寫 的時候,用var 宣告乙個變數,除此之外,也再沒有接觸到其它的關鍵字了,不管我們宣告什麼樣型別得變數,都用var 搞定了,很方便,但是es6 告訴你,除了var,還可以試試 let 來宣告變數。那麼,既然var 方便,為什麼還要let 來宣告,這麼說 var 宣告 一...