let const var
- var變量的聲明被提高到了頂部, 而初始化工做則保留在原處
- var在全局的時候會建立出來一個全局屬性,但不能被刪除,隱性建立的全局變量的能夠被刪除。
- let聲明的語法與var語法一致,但會將變量的做用域限制在當前代碼塊中,不
會被提高到當前代碼塊的頂部。
- let禁止重複聲明
- 在全局下面聲明不會建立全局屬性
- const 使用 const 聲明的變量會被認爲是常量,意味着它們的值在被設置完成後就不能再被改變
- const 聲明會阻止對於變量綁定與變量自身值的修改, 這意味着 const 聲明並不會阻止對變量成員的修改 (大白話的意思就是禁止修改對象引用。但對象的值能夠被修改)
暫時性死區:常常被用於描述 let 或 const 聲明的變量爲什麼在聲明處以前沒法被訪問,也就是說若是這個值不是let或者const聲明的就沒有這樣的事情對象
- 使用 let 或 const 聲明的變量, 在達到聲明處以前都是沒法訪問的.也就是說自己在var的時候,不用聲明也能夠使用,可是在前面使用了這值,後面再去聲明就報錯