ES6 let變數與var變數的區別

2021-10-09 14:38:58 字數 920 閱讀 4266

一,let不存在變數提公升,

可以理解為let變數在使用前必須先宣告再使用不存在預解析,否則就會報錯,而var宣告的變數存在預解析即變數提公升,舉個例子:

這段**的結果為undefine,原因為瀏覽器在解析**時,會先解析變數a然後逐步載入**,即解析過程為

當使用let宣告變數a時,瀏覽器則會直接報錯,這是因為let宣告的變數不存在變數提公升

二,let變數在同一作用域下不能重複定義相同名稱的變數,而var能夠重複定義變數,如:

三,let塊級作用域,宣告後只作用域所在的{}內,var是函式作用域,可作用於{}外,如:

if條件內的a只作用於if{}內,跟if外定義的a不在同一作用域。

ES6 let變數宣告

var 宣告的變數在window上 用let或者const去宣告變數,這個變數不會被放到window上 array.foreach function currentvalue,index,arr thisvalue 如果瀏覽器對let已經支援了,其實絕大部分情況下var都可以被替換成let,以後盡量...

ES6 let宣告變數(簡單易懂)

let關鍵字宣告變數是在es6中引入的 使用let宣告變數主要有以下特點 1 使用let宣告的變數具有塊級作用域 if true console.log a a is not defined2 使用let宣告的變數沒有變數提公升 console.log a let a 10 cannot acces...

ES6 let與const以及變數的解構賦值

7.用途 1 不存在變數提公升 宣告前使用報錯 2 暫時性死區 先宣告,後使用 3 不允許在相同作用域內重複宣告 4 塊級作用域 es6 塊級作用域內宣告函式相當於var es5 塊級作用域內宣告的函式類似於let 塊級作用域內宣告let變數或函式必須有 1 變數值不可變 2 不存在變數提公升 3 ...