es6的let与const

let与const都只在块级作用域内有效,即在同一个{}里面,命令声明都不会如同var一样提升,并且不能在同一个{}内声明相同的变量。

块作用域内可进行函数声明,但是在快作用域之外不可引用,与let类似。可把函数赋值给变量,然后再该作用域内进行调用(也是不会提升声明,所以必须在函数声明之后进行调用)。

const定义的常量需要进行初始化,并且在后面事不能进行修改的。

当const指向的是复合型的变量(对象、数组),此时从const指向的是数据所在的地址而不是数据,此时const声明出来的是可以进行数据赋值操作的,不变的只是地址。当定义的是一个数组地址(const

arr=[])时,不可以把其他数组赋值给arr,会报错,可以用push、pop进行arr的数组操作。

es6中的全局变量与顶层对象不再是同一级变量(es5中是等价的):

var a=1;            //a,1

window.a=2;   //window.a,2

var b=1;            //b,1

window.b         //undefined

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容