es6學習 塊級作用域let const

2022-07-26 12:36:12 字數 907 閱讀 3280

先安裝node ,新建1.js檔案,通過node的 cmd進入本地檔案1.js    執行 node 1.js   可以測試以下**。

1.基本用法

let 宣告變數,只在塊級作用域有效。

console.log(a);

//a is not defined

console.log(b); //

2

在for 迴圈中使用,迴圈和迴圈內部分別是單獨的作用域

for(let i=0;i<3;i++)

for(let i=0;i<3;i++)

2.不存在變數提公升

console.log(a); //

undefined

var a = 1;

console.log(b);

//b is not defined

let b = 2;

3.不允許重複宣告

4.允許塊級作用域之間相互巢狀,外層作用域無法讀取內層作用域變數

總結:在乙個塊級區域內,如果存在let const 宣告的變數你,如果在宣告之前使用就會報錯,稱為「暫時性死區」 因為已經繫結在這個塊級區域內了,跟外部宣告的同名變數沒有關係。

因此:變數一定要在宣告之後使用

const 宣告的是常量 ,不可改變 ,只能宣告的塊級作用域內有效,不存在提公升,存在「暫時性死區」,不可重複宣告。

var命令和function命令宣告的全域性變數,依舊是頂層物件的屬性;es6規定,let命令、const命令、class命令宣告的全域性變數,不屬於頂層物件的屬性。也就是說,從es6開始,全域性變數將逐步與頂層物件的屬性脫鉤。

es6 塊級作用域用法

iife 寫法 function 塊級作用域寫法 塊級作用域的出現,實際上使得獲得廣泛應用的立即執行函式表示式 iife 不再必要了。function f function f 上面 在 es5 jscript不支援塊級作用域環境中執行,會得到 i am inside 因為在 if內宣告的函式f會被...

ES6的塊級作用域

為什麼要使用塊級作用域?1.在預編譯階段,變數的宣告會被提公升到作用域頂部,而初始化操作依舊留在原處執行,在該作用域中未定義變數的地方也能訪問到該變數,但是此時變數尚未初始化,所以其值為undefined,為此es6引入塊級作用域來強化對變數生命週期的控制 塊級宣告 1.塊級作用域用於宣告在指定塊的...

ES6的塊級作用域

let為j ascript新增了塊級作用域,外層作用域無法獲取到內層作用域,這樣非常安全。即使外層和內層都使用相同變數名,也都互不干擾。例如 1 function test 7 console.log a 輸出 18 910 test 呼叫函式 塊級作用域,允許函式可以在塊級作用域中宣告。在塊級作用...