1.let和const

原文地址
其他参考资料

let:声明变量

const:声明只读常量

二者共同点:

  • 只在代码块内有效,并且在用let或const声明之前,都是TDZ(temporal dead zone),暂时性死区,会报错
  • 没有变量提升
  • 不允许重复声明

这使得ES6存在块级作用域,私有作用域的语法可以丢弃了,允许在块级作用域中声明函数,但是环境导致的行为差异大,所以尽量避免。

const:

  • const定义对象,保存的地址不可变,但地址的内容可变,所以可给对象添加方法、属性。

  • 若想将对象冻结,使用Object.freeze({});

  • 全局对象的属性:var命令和function命令声明的全局变量,依旧是全局对象的属性;另一方面规定,let命令、const命令、class命令声明的全局变量,不属于全局对象的属性。

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

推荐阅读更多精彩内容