ES6语法:let 和 const 关键字

244 阅读1分钟

我们以前都是使用 var 关键字来声明变量的。
在 ES6 的时候,多了两个关键字 let 和 const ,也是用来声明变量的只不过和 var 有一些区别。

1、let 和 const 不允许重复声明变量

// 使用 var 的时候重复声明变量是没问题的,只不过就是后的会把前面覆盖掉

var num = 100 
var num = 200

2、let和const声明的变量不会进行声明提升。

通过let声明变量,之前的区域,叫做暂时性死区。

3、let和const声明的变量会被所有的代码块限制作用域(作用域更小),只要遇到大括号就形成作用域。

let num; 
alert(num); //undefined 
const num2 = 20; 
alert(num2);

// 使用const 重复声明变量的时候就会报错

const num = 100 
const num = 200 // 这里就会报错了

ii. let 和 const 声明的变量不会在预解析的时候解析(也就是没有变量提 升)

alert(num); const num = 10; alert(num);`

iii. let 和 const 声明的变量会被所有代码块限制作用范围
// var 声明的变量只有函数能限制其作用域,其他的不能限制

if (true) { var num = 100 }console.log(num) // 100

// let 声明的变量,除了函数可以限制,所有的代码块都可以限制其作用域
(if/while/for/...)

if (true) { let num = 100 console.log(num) // 100 }console.log(num) // 报错

4、let 和 const 的区别

let num num = 100 console.log(num) // 100 
const num // 这里就会报错了,因为 const 声明的时候必须赋值

更多前端技术知识,请点击获取 大前端工程师自学视频教程