本文小编为大家详细介绍“es6中不用var而是用let的原因是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“es6中不用var而是用let的原因是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、做网站、梁河网络推广、微信小程序、梁河网络营销、梁河企业策划、梁河品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供梁河建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
因为var在if、for循环中是没有作用域的,只有借助function的作用域来解决引用作用域外面的变量的问题;而let在if、for循环中是有块级作用域的,这是var所没有的功能,所以es6中使用let关键字而不是使用var。
本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。
因为在之前的JavaScript(ES5之前)中,var在像 if ,for循环中是没有作用域的,只有借助function的作用域来解决引用作用域外面的变量的问题
在ES6中加入了let,它在if和for中是有块级作用域的,let拥有块级作用域,一个{}就是一个作用域,也就是let声明块级变量,即局部变量.
const 也是有块级作用域的,当我们的修饰的标识符不想再被改变赋值时用const
建议在ES6开发中优先使用const,只有想改变一个标识符的时候才使用let
注意
1.const赋值后不能修改
2.用const定义标识符必须赋值
3.常量的定义是指向的对象不能修改,但是对象的属性可以修改
按照一般逻辑,变量应该在声明语句之后才可以使用,但在上面的代码中,是声明之前输出foo的值,且这个值为undefined,这就说明变量在声明之前就已经存在了。为什么用var会出现这种问题呢?
这里就是人们经常说的变量提升,即变量可以在声明之前使用,值为undefined。
我们console用let声明的变量bar,报错了,这就表示声明之前,变量bar是不存在的,这里就没有变量提升的现象出现。为了纠正这种现象,让大家更好的理解代码,let命令改变了语法行为,它所使用的变量一定要在声明之后使用,否则就会报错。
读到这里,这篇“es6中不用var而是用let的原因是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。
名称栏目:es6中不用var而是用let的原因是什么
文章位置:https://www.cdcxhl.com/article30/gohjpo.html
成都网站建设公司_创新互联,为您提供虚拟主机、网站内链、静态网站、网站设计公司、移动网站建设、微信公众号
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联