1:let和const:作用域,全局作用域脯爪,函數(shù)作用域以及塊級作用域(es6)启上。
let聲明的變量只在塊級作用域內(nèi)有效,用大括號括起來的部分都叫塊級作用域粱坤。在塊級作用域中不能用let重復(fù)聲明相同的變量隶糕。
const用來聲明常量瓷产,常量不允許修改。const也有塊級作用域的概念枚驻,聲明的時候必須賦值濒旦。let和const不能在同一級作用域內(nèi)重復(fù)定義,const不能在同一級作用域內(nèi)修改常量的值再登。在不同的塊級作用域里面,可以聲明重復(fù)的變量以及常量尔邓。如果用const去聲明一個對象的時候,可以修改對象的值锉矢。
在兩個js文件中梯嗽,一個js文件引入了另一個js文件,如果想要修改另一個文件中定義的變量或者常量沽损,那么可以采用import * as obj from ''./calss.js''的形式修改灯节。注意:在修改一個常量的時候,會報錯绵估,但是瀏覽器正常運(yùn)行炎疆,在gulp的打包工具中加入//? noinspection JSAnnotator則不會報錯,正常運(yùn)行国裳。
es6強(qiáng)制開啟嚴(yán)格模式形入!變量未聲明不能引用。
let和const不存在變量提升躏救,有暫時性死區(qū)唯笙,所以變量要提前聲明。