您的位置是:网站首页>Javascript编程Javascript编程

let和const的区别是什么

少儿编程网2021-03-31 13:14:25Javascript编程 人已围观 来源:少儿编程 -用户投稿

简介区别:let声明的变量可以改变,值和类型都可以改变;而const声明的常量不可以改变,这意味着,const一旦声明,就必须立即初始化,不能以后再赋值。相关推荐:《javascript视频教程》let和const的不同点:①let声明的变量可以改变,值和类型都可以改变;const声明的常量不可以改变,

版权所有:https://wWw.pxcodeS.com

区别:let声明的变量可以改变,值和类型都可以改变;而const声明的常量不可以改变,这意味着,const一旦声明,就必须立即初始化,不能以后再赋值。wDN少儿编程网-https://www.pxcodes.com

wDN少儿编程网-https://www.pxcodes.com

相关推荐:《javascript视频教程》wDN少儿编程网-https://www.pxcodes.com

let和const的不同点:wDN少儿编程网-https://www.pxcodes.com

① let声明的变量可以改变,值和类型都可以改变;const声明的常量不可以改变,这意味着,const一旦声明,就必须立即初始化,不能以后再赋值。wDN少儿编程网-https://www.pxcodes.com

const i ; // 报错,一旦声明,就必须立即初始化
const j = 5;
j = 10; // 报错,常量不可以改变

② 数组和对象等复合类型的变量,变量名不指向数据,而是指向数据所在的地址。const只保证变量名指向的地址不变,并不保证该地址的数据不变,所以将一个复合类型的变量声明为常量必须非常小心。wDN少儿编程网-https://www.pxcodes.com

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)进行冻结。冻结指的是不能向这个对象或数组添加新的属性,不能修改已有属性的值,不能删除已有属性。wDN少儿编程网-https://www.pxcodes.com

const arr = [];
Object.freeze(arr);
// 不报错,但数据改变无效
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
console.log(arr.length); // 输出:0

let和const的相同点:wDN少儿编程网-https://www.pxcodes.com

① 只在声明所在的块级作用域内有效。wDN少儿编程网-https://www.pxcodes.com

② 不提升,同时存在暂时性死区,只能在声明的位置后面使用。wDN少儿编程网-https://www.pxcodes.com

③ 不可重复声明。wDN少儿编程网-https://www.pxcodes.com

更多编程相关知识,请访问:编程入门!!

以上就是let和const的区别是什么的详细内容,更多请关注少儿编程网其它相关文章!wDN少儿编程网-https://www.pxcodes.com

来源:php中文网wDN少儿编程网-https://www.pxcodes.com

版权所有:https://wWw.pxcodeS.com

相关文章:

支持一下 ( )

let和const的区别是什么

      匿名评论
    • 评论
    人参与,条评论
    let和const的区别是什么

微信公众号

免费视频教程

先知道