首頁  >  文章  >  web前端  >  es6中什麼是暫時性死區

es6中什麼是暫時性死區

WBOY
WBOY原創
2022-03-30 17:29:262862瀏覽

在es6中,暫時性死區是一個語法錯誤,是指let和const指令使區塊形成封閉的作用域,使用let和const指令宣告變數之前,該變數都是不可用的,es6給這種錯誤設定了一個專有名詞叫暫時性死區。

es6中什麼是暫時性死區

本教學操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。

es6中什麼是暫時性死區

暫時性死區:Temporal Dead Zone 簡稱TDZ

在ES6中, 引入了let 和const 兩個新的命令, 並且使用這兩個命令定義的變數不存在變數提升, 且使用let和const聲明變數之前, 該變數都是不可用的, 這在語法上被稱為暫時性死區

console.log(a)
let a = 100  // ReferenceError

什麼意思呢? 就是說es6給這種錯誤設定了一個專有名詞叫暫時性死區, 其實它就是簡簡單單的指的是一個語法錯誤而已

當程式的控制流程在新的作用域(module function 或block 作用域)進行實例化時,在此作用域中用let/const宣告的變數會先在作用域中被建立出來,但因此時還未進行詞法綁定,所以是不能被存取的,如果訪問就會拋出錯誤。因此,在這運行流程進入作用域創建變量,到變量可以被訪問之間的這段時間,就稱之為暫時死區。

如果你還是記不住,那麼只需理解下面這句話即可:

ES6規定,let/const指令會使區塊形成封閉的作用域。若在宣告之前使用變量,就會報錯。

總之,在程式碼區塊內,使用 let 指令宣告變數之前,變數都是不可用的。

這在文法上,稱為 「暫時性死區」( temporal dead zone,簡稱 TDZ)。

【相關推薦:javascript影片教學web前端

以上是es6中什麼是暫時性死區的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn