es6學習筆記 let和const

2021-07-29 12:31:38 字數 1123 閱讀 3836

console.log(b)//uncaught referenceerror: a is

not defined

在for迴圈中,迴圈語句部分是乙個作用域,內部又是乙個作用域

for(let a=1;a<3;a++)

在let宣告變數完成前,對變數賦值會出錯
es中模仿塊級作用域

(function

()())

(function

())()

es6中

function

f1()

console.log(n); // 5

}

// 情況一

if (true)

}// 情況二

try

} catch(e)

這兩種情況都是不好的,該用函式表示式

// 瀏覽器的 es6 環境

function

f()

(function

() //提公升

} f();

}());

// uncaught typeerror: f is not a function

const變數一旦宣告就該初始化否則出錯

const foo;

//syntaxerror: missing initializer in

const declaration

const和let命令一樣在塊級作用域內有效,不存在變數提公升

const保證變數在記憶體中的位置不變,所以陣列物件都可以改變其中的值,但不能重新賦值

在瀏覽器中指的window,在node中為global

在es5中全域性變數和頂層物件的屬性是等價的

var a = 1;

// 如果在node的repl環境,可以寫成global.a

// 或者採用通用方法,寫成this.a

window.a //

1let b = 1;

window.b //

undefined

ES6學習筆記 let和const

今天開始讀阮一峰的 ecmascript 6 入門 在這裡記錄下閱讀過程中的要點,以便隨時查閱。頂層物件的屬性與全域性變數掛鉤,被認為是js最大的敗筆之一,es6開始,全域性變數將逐步與頂層物件脫鉤。為了保持相容性,一方面,var和function宣告的全域性變數,依舊是頂層物件的屬性 另一方面,l...

ES6 學習筆記 let和const

學習資料 ecmascript 6 入門 如果使用var,只有乙個全域性變數i var a for var i 0 i 10 i a 6 10var a for let i 0 i 10 i a 6 6設定迴圈變數的那部分是乙個父作用域,而迴圈體內部是乙個單獨的子作用域 for let i 0 i ...

ES6學習筆記之《let 和 const》

es6宣告變數的方法 var function let const import class let和 const const的作用域與let命令相同 只在宣告所在的塊級作用域內有效。if true max uncaught referenceerror max is not defined con...