1.let命令
let用來聲明變量.用法類似于var,但是所聲明的變量只會在let命令所在的代碼內(nèi)有效
var會發(fā)生“變量提升”現(xiàn)象,即變量可以在聲明之前使用.值為undefined录择。
let改變了語法行為憨攒,所聲明的變量在聲明后使用,否則報錯够吩。
暫時性死區(qū):在代碼塊內(nèi),使用let命令渴肉,聲明變量之前肚邢,改變量都不可用。暫時性死區(qū)意味著typeof不再是一個百分百安全的操作乙各。
let不允許在相同作用域內(nèi),重復聲明同一個變量
為什么使用會級作用域:
①內(nèi)層變量會覆蓋外層變量幢竹。
②用來計數(shù)的循環(huán)變量泄露為全局變量
2.const命令
const 聲明一個只讀常量耳峦。一旦聲明,常量的值無法改變焕毫,const聲明的變量不得改變值蹲坷,意味著const一旦聲明就得立即初始化,不能留到以后賦值
const作用域與let命令相同邑飒,只在聲明所在的塊級作用域內(nèi)有效
const聲明的常量也和let一樣不可重復聲明
es6的6種聲明變量的方法:var function? let? const? import? class