3.3.3 const 声明

const 的行为与 let 基本相同,唯一一个重要区别是用它声明 const 变量的时候必须要同时初始化该变量。也不允许重复声明相同变量。
且尝试修改 const 定义的变量都会 报错。

const age = 26;
age = 30;		// 报错 TypeError

//	const 也不允许重复声明
const  name = "Matt";
name = "Nicholas";		// 报错:SyntaxError 

//  const 声明的 作用域也是块 
 const name = "Matt";
 if(true){
 	const name = "Nicholas";
 }
 console.log(name);		// Matt 

cons 声明的限制只适用于 它指向的变量 的引用。换句话说,
如果 const 引用的是一个对象,那么修改这个 对象 的内部属性 并不违反 const 的限制。

const person {};
person.name = "Matt";

在 for 循环中,JavaScript 引擎会为 let 创建的迭代变量 分别创建独立的变量实列,但是 却不能用 const 创建
迭代变量,因为迭代变量会变化和改变。

for(const i = 0; i < 10 ; ++i)	// 提示错误:TepyError 

不过,如果你只是想用 const 声明一个不会被修改的 for 循环变量,也那也是可以的。 也就是说,每次迭代只会 创建一个新变量。
这对 for-of 和 for-in 循环特别有意义。

et i = 0;
for(const j = 7; i < 5; i++){
	console.log(j);
}
// 每次都 打印 7;一共打印 5 次。
for(const key in {a:1, b: 2}{
	console.log(key);
}
// 每次打印 键名 : 分别是 a 然后 是 b ;
for(const value of [6,5,4,3,2,1]{
	console.log(value);
}
//	每次打印一个值,依次为:6,5,4,3,2,1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值