Let与Const

ES5声明变量只有2种方式,var和function,而在ES6中一共有6种,Let与Const,import和class。

Let与Const的用途需要与var对比介绍。

var定义的是全局变量,同一变量在重复使用时,存在变量污染情况。尤其多人协作开发,需要注意这个问题,需要一些特定的方法来解除这个隐患,如闭包或者全局变量对象下特定规则的相对隔离的定义变量方法等,但开发语音的合理和优雅就丢失了。

除了全局变量污染的问题,还存在变量提升,即定义前可使用且不报错。

let配合ES6的块作用域使用,变量作用域限制在块作用域内,安全合理。

const用于定义常量,定义时必须赋值,定义后不可修改。

const实际上保证的并不是变量的值不能改动,而是变量指向的内存地址不能改动,对于简单类型的数据(数值、字符串、布尔值)内存地址保存的就是值,不可修改;对于复合类型的数据(对象和数组),仅仅是内存地址这个指针不可改动,而指针指向的数据就限制不到,可以改动。

posted @ 2022-06-21 15:27  贰零伍零  阅读(22)  评论(0)    收藏  举报