ES6 lesson2 – const和let的区及使用场景
今天本来是中午就应该更新的,但是中午磨磨唧唧的又不知道干嘛去了。
没想到,刚刚写到一半,美女又找我给她参谋文案,没办法拒绝。又写一个小时的文字工作,但是没想到,我对我自己写的文案内容还挺满意的(感觉自己选错行了)。
今天一天计划了五件事,最终只完成了一件,这么一下下的拖拉下去,不知道工作效率会变成什么样。
明天要认真的搞事情了,电脑的环境都弄好了。
今天晚上接着看了es6的视频。对let const 有了更加新的功能认识。写一下感受吧。
今天主要看的是let跟const的核心区别,昨天只是了解了个大概。今天看了视频后有了更直观的感受。
1. let 不允许重复定义
这个昨天说过了,let、const,均无法重复定义。但是let如果全局定义后,在块级作用域中可以再次声明。在块级作用域中声明的let变量,不会影响到外部的全局let变量。
什么意思呢?我们看下面的代码
let i = 1; if (true) { let i = 2; console.log(i); // i => 2 } console.log(i); // i => 1
这其中if语句中改变的i,实际上是重新定义了一个新的变量,并不会覆盖之前的全局i变量。
2. const定义常量
const,顾名思义construction,是无法修改的量。
例如:
const i = 1; i = 2;
此时会报错,不允许修改。
然后再看下一个
const user = { name: 'fea', age: 26 }
此时如果重新定义user,就会报值已经存在的错误。
例如
user = { name: 'Fea.cx' }
报错
但是,对象类型的常量,可以修改对象内部的属性值:
const user = { name: 'fea', age: 26 } user.name = 'Fea.cx'
此时代码是可以正确执行,且user的name属性是可以被修改的。
以上就是今天所学到的内容。
第二节先到这里,明天继续记录!
本文系作者 @feacx 原创发布在 徐小鹏的个人分享。未经许可,禁止转载。