首页 > 其他 > 详细

ES6语法知识点

时间:2019-10-29 20:22:52      阅读:87      评论:0      收藏:0      [点我收藏+]

let/const(常用)

let,const用语声明变量,用来替代老语法的var关键字,与var不同的是,let/const会创建一个块级作用域(如图)

技术分享图片

 

 如图在块级作用域外部无法获取已声明的let

案例:if/for关键字结合let/const创建的块级作用域  

技术分享图片

 for循环三部分,第一部分包含变量声明(在for循环中智慧执行一次),第二部分包含循环退出的条件,第三部分包含每次循环最后要执行的表达式

 技术分享图片

 使用let/const关键字声明变量的for循环时,除了会创建块级作用域,let/const还会将声明的变量绑定到每个循环中,可以理解为

let/const中的for循环给每次循环创建一个块级作用域:

 技术分享图片

 暂时性死区

使用let/const声明的变量,从一开始就形成了封闭作用域,在声明变量之前是无法使用这个变量的,这个特点也是为了弥补var的缺陷(var声明的变量有

变量提升)暂时性死区其实是为了防止ES5以前在变量声明前就使用这个变量,这是因为var的变量提升的特性导致一些不熟悉var原理的开发者习以为常的以为变量可以先使用在声明,从而埋下一些隐患

技术分享图片

 

const

const关键字用于声明一个常量(即不会改变的量)。

const与let的区别:

  1. const声明变量的时候必须赋值,否则会报错,同样使用const声明的变量被修改了也会报错

技术分享图片

 

  2.const声明变量不能改变,如果声明的是一个引用类型,则不能改变它的内存地址

技术分享图片

 

tips:根据ES6规定的特点,在日常开发中即便没有在块级作用域中声明变量,let/const声明的变量也不会变为全局变量

技术分享图片

 


技术分享图片

如图let声明的变量x是在一个叫script的作用域下的,而var声明的变量因为变量提升所以提升到了全局变量window对象中,这使我们能放心的使用新语法,不用担心污染全局的window对象

建议

一般的变量声明使用let关键字,而当声明一些配置项(类似接口地址,npm依赖包,分页器默认页数等一些一旦声明后就不会改变的变量)的时候可以使用const,来显式的告诉项目其他开发者,这个变量是不能改变的(const声明的常量建议使用全大写字母标识,单词间用下划线)

 

 

 

 

 

 

参考资料:ES6语法知识点

ES6语法知识点

原文:https://www.cnblogs.com/yqycr7/p/11761003.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!