es6的let,const,var的知識

2021-10-11 04:27:59 字數 674 閱讀 9433

1、js引擎在掃瞄****發現變數宣告時,要麼把他們提公升到作用域頂部(遇到var宣告);要麼把他們放到tdz(臨時死區)中(遇到let const宣告),訪問tdz裡面的變數會觸發執行時錯誤,只有執行變數宣告語句後,變數才會從tdz中移出,然後才能正常訪問。

if(1

)

console.

log(

typeof value)

// 'undefined' 此時value不在tdz中if(

1)

2、let,const不能覆蓋全域性變數,只能遮蔽它;var能覆蓋全域性變數

let regexp =

'hi'

console.

log(regexp )

// hi

console.

log(regexp ==

= window.regexp )

// false

vae regexp =

'hi'

console.

log(regexp )

// hi

console.

log(regexp ==

= window.regexp )

// true

ES6新增 let const var的區別

var定義的變數,沒有塊的概念,可以跨塊訪問,不能跨函式訪問。let定義的變數,只能在塊作用域裡訪問,不能跨塊訪問,也不能跨函式訪問。const用來定義常量,使用時必須初始化 即必須賦值 只能在塊作用域裡訪問,而且不能修改。es6的let變數宣告特點 1.擁有塊級作用域 2.沒有變數宣告提公升 3....

ES6的宣告 let,const,var區別

a 報錯 referenceerror a is not definedlet 是在 塊內有效,var 是在全域性範圍內有效 a referenceerror a is not defined b 1let a 1 let a 2 var b 3 var b 4 a identifier a has...

ES6新增 let const var的區別

參考學習 var定義的變數,沒有塊的概念,可以跨塊訪問,不能跨函式訪問。let定義的變數,只能在塊作用域裡訪問,不能跨塊訪問,也不能跨函式訪問。const用來定義常量,使用時必須初始化 即必須賦值 只能在塊作用域裡訪問,而且不能修改。es6的let變數宣告特點 1.擁有塊級作用域 2.沒有變數宣告提...