Node.JS学习之二,你应该更多的使用const

var/let/const 变量的申明

在ES2015也就是ES6规范之前,Javascript中对变量的定义只有var这个关键字进行变量申明,或者你可以不用关键字(现在情况是,你也可以不申明变量,只要变量名不重复)

而在ES2015规范中新添加了letconst两个关键字,同样也是用来进行变量申明的,其中const是定义常量,也就是,一旦申明了变量,那么变量的值是不能修改的。

关于varletconst三者的使用区别,在这里也不多介绍了,因为网上也有不少关于三者的解释说明,如果你要详细研究的话我建议查看Mozilla的MDN文档,上面有规范的详细说明与示例。

这里主要是想推荐下自己使用的一个感觉,因为再对比了国外和国内对ES2015规范使用的代码中,我发现,国内更倾向于使用let来申明变量,而国外更多的是使用const来申明,在以前我也是简单的用let来代替var使用,但是在看了一些老外的代码后觉得如果没有必要那么应该使用const来申明变量,这里可能有人会奇怪了,const不是申明常量,怎么会申明变量呢?其实const申明的常量分为两类,值类型引用类型,对于值类型,比如

const a = 1
复制代码

那么这个变量a的值是不能改变的,但是对于引用类型,比如

const b = {str:'hello',name:'world'}
b.name = 'world!'
复制代码

其中b是引用类型,你可以改变b的属性值,但是不能改变b的引用地址

那么接下来就要说说为啥推荐更多的使用const

首先,我们在引用第三方库的时候,一旦命名好了,其实我们是不希望在之后的代码中改变的,比如说

const path = require('path')
path.resolve(...)
复制代码

这样定义的话就能保证在下面代码中使用的时候不会使用了别的含义的对象

其次,在遍历方法中,我们不应该改变原始的遍历数据,而是应该产生一个改变后的副本数据

for(let item of obj) {
    item = ...
}

for(const item of obj) {
    item = ... 
}
复制代码

上面一种遍历的时候对获取的对象是使用let申明的,这样我们在遍历数据的时候能够修改原始数据

而下面一种使用了const来申明,那么我们是不能对原始数据做直接的修改,当然了,如果遍历的元素是引用类型,那么还是能够修改引用值的,但是使用const申明的话,会提醒我们,不要去修改原始数据

最后,就是即使使用cosnt申明,我们一样可以对引用类型的值进行修改、添加、删除的,使用起来跟let是没有分别的

所以个人觉得多使用const的对变量申明会更好些

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值