区别:let声明的变量可以改变,值和类型都可以改变;而const声明的常量不可以改变,这意味着,const一旦声明,就必须立即初始化,不能以后再赋值。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
相关推荐:《javascript视频教程》
let和const的不同点:
① let声明的变量可以改变,值和类型都可以改变;const声明的常量不可以改变,这意味着,const一旦声明,就必须立即初始化,不能以后再赋值。
const i ; // 报错,一旦声明,就必须立即初始化const j = 5;j = 10; // 报错,常量不可以改变
登录后复制
② 数组和对象等复合类型的变量,变量名不指向数据,而是指向数据所在的地址。const只保证变量名指向的地址不变,并不保证该地址的数据不变,所以将一个复合类型的变量声明为常量必须非常小心。
const arr = [];// 报错,[1,2,3]与[]不是同一个地址arr = [1,2,3];const arr = [];// 不报错,变量名arr指向的地址不变,只是数据改变arr[0] = 1;arr[1] = 2;arr[2] = 3;console.log(arr.length); // 输出:3
登录后复制
若想让定义的对象或数组的数据也不能改变,可以使用object.freeze(arr)进行冻结。冻结指的是不能向这个对象或数组添加新的属性,不能修改已有属性的值,不能删除已有属性。
const arr = [];Object.freeze(arr);// 不报错,但数据改变无效arr[0] = 1;arr[1] = 2;arr[2] = 3;console.log(arr.length); // 输出:0
登录后复制
let和const的相同点:
① 只在声明所在的块级作用域内有效。
② 不提升,同时存在暂时性死区,只能在声明的位置后面使用。
③ 不可重复声明。
更多编程相关知识,请访问:编程入门!!
以上就是let和const的区别是什么的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2719355.html