博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/5/7学习日记-变量声明(let、const、var)
阅读量:5081 次
发布时间:2019-06-12

本文共 714 字,大约阅读时间需要 2 分钟。

  前言:今天看到同事的代码,很多变量都是用const声明的。记得之前看过文章说es6建议用let,至于为什么要用let,不建议用const就忘了。今天再来复习一下。资料参考:

一、var和let的区别

  首先看一下var和let的区别,为什么要用let。简而言之就是var存在作用域混乱问题,常见的例子

for (var i = 0; i < 3; i++) {    setTimeout(function() { console.log(i); }, 100 * i);}//3//3//3

  而如果用let声明i,就迎刃而解了。因为let不仅在循环里引入了一个新的变量环境let i=0;而且每次迭代都会创建这样一个新的作用域。因此 i 每次都能被保存。而var则相反,一直使用一个变量,变量被不停迭代.

for (let i = 0; i < 3; i++) {    setTimeout(function() { console.log(i); }, 100 * i);}//0//1//2

 

一、let和const的区别

1、let声明的是变量;而const声明的是常量,只读,修改值会报错(const是对let的一个增强,它能阻止对一个变量再次赋值)

二、共同点

1、const是对let的一个增强,拥有let的特性。

2、严格来讲,预计不需要修改的值都应该用const声明。这样可以监控到数据的流动。但是鉴于实际开发的便利性,const会显得比较麻烦,我们需要考虑每个变量是否会变。所以使用let就行了。

 

转载于:https://www.cnblogs.com/gouzei/p/10825288.html

你可能感兴趣的文章
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>
软件开发和软件测试,我该如何选择?(蜗牛学院)
查看>>
基本封装方法
查看>>
bcb ole拖拽功能的实现
查看>>
生活大爆炸之何为光速
查看>>
bzoj 2456: mode【瞎搞】
查看>>
[Typescript] Specify Exact Values with TypeScript’s Literal Types
查看>>
[GraphQL] Reuse Query Fields with GraphQL Fragments
查看>>
Illustrated C#学习笔记(一)
查看>>
理解oracle中连接和会话
查看>>
两种最常用的Sticky footer布局方式
查看>>
Scrapy实战篇(三)之爬取豆瓣电影短评
查看>>
HDU 5510 Bazinga KMP
查看>>
[13年迁移]Firefox下margin-top问题
查看>>
Zookeeper常用命令 (转)
查看>>
Java程序IP v6与IP v4的设置
查看>>
RUP(Rational Unified Process),统一软件开发过程
查看>>