ES6——let和const

本文介绍了ES6中新增的let和const关键字的作用域特性,包括它们如何在块级作用域中工作,以及与传统变量声明方式的区别。通过具体实例展示了let与const的使用注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作用域


es6之前,只有2种作用域全局作用域和函数作用域。

到了es6,新增了一个块级作用域。

所谓的块级作用域,就是指用{}大括号括起来的范围。



let


let只有一种域,块级作用域


使用注意

let,没有变量提升的现象。

使用let,不能重复定义变量。


实例

for(let i = 0l i < 5; i++){
    console.log("i:",i);   
}

console.log("i:", i);

运行结果

let只作用于for循环内部,所以在外部i没有定义。

最终导致外面的console.log 报引用错误。



const


它只有一种域,全局作用域

用于定义变量

const 声明和赋值同时完成

const定义的值,不可改变


实例

let user = {name:"Tim Chen"};

const Me = user;

console.log("user:",user);   // {name:"Tim Chen"}

user.age = 12;

console.log("user:",user);  // {name:"Tim Chen" , user.age: 12}


const定义的常量,指向 user这个地址

所以user本身可以改变,但这种指向关系不可改变



扩展知识——声明前置


当我们写下这样的代码

console.log("a:",a);
var a = 1 ;


实际上,它是这样的

var a;
console.log("a:",a);
a = 1 ;

运行结果

控制台显示 a:undifined

但如果用let,会直接报错,let更加严谨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值