首页 >

es6中为什么不用var而是用let

web前端|前端问答es6中为什么不用var而是用let
es6
web前端-前端问答
php移动端商城源码,vscode配置js提示,ubuntu认证网络,tomcat运行后停止,sqlite数据库客户端免费,爬虫巢,问卷调查 php源码,重庆seo技术博客优化,fullpage做的网站,shopex 模板备份lzw
es6中为什么不用var而是用let
手机本地mp3播放器源码,ubuntu设置网卡文件,爬虫总是漏数据,php日期目录,seo 提交链接lzw
因为在之前的JavaScript(ES5之前)中,var在像 if ,for循环中是没有作用域的,只有借助function的作用域来解决引用作用域外面的变量的问题
如意云点播源码,vscode更换工作区目录,ubuntu 虚拟鼠标,tomcat程序加载很慢,python 和 爬虫,php结算系统源码,马尾区有效的seo优化lzw
在ES6中加入了let,它在if和for中是有块级作用域的,let拥有块级作用域,一个{}就是一个作用域,也就是let声明块级变量,即局部变量.

const 也是有块级作用域的,当我们的修饰的标识符不想再被改变赋值时用const

建议在ES6开发中优先使用const,只有想改变一个标识符的时候才使用let

注意

1.const赋值后不能修改

2.用const定义标识符必须赋值

3.常量的定义是指向的对象不能修改,但是对象的属性可以修改

es6中为什么不用var而是用let

按照一般逻辑,变量应该在声明语句之后才可以使用,但在上面的代码中,是声明之前输出foo的值,且这个值为undefined,这就说明变量在声明之前就已经存在了。为什么用var会出现这种问题呢?

这里就是人们经常说的变量提升,即变量可以在声明之前使用,值为undefined。

我们console用let声明的变量bar,报错了,这就表示声明之前,变量bar是不存在的,这里就没有变量提升的现象出现。为了纠正这种现象,让大家更好的理解代码,let命令改变了语法行为,它所使用的变量一定要在声明之后使用,否则就会报错。


  • 暂无相关文章
  • Posted in 未分类