首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

ES6中的let和const关键字如何使用

2020-11-27 来源:华佗小知识
ES6中的let关键字主要用于声明局部变量,而且不会发生变量提升;const声明一个只读的常量,声明后无法重新分配新的内容

ES6全称为ECMAScript 6.0是JavaScript语言的下一代标准,它的目的是让JavaScript语言可以用来编写复杂的大型应用程序,ES6的出现意味着JavaScript拥有更成熟的语法以及使编码更容易的新快捷方式,还有许多新的方法,新的关键字以及数据类型和其他增强功能等,接下来在文章中将为大家详细介绍ES6中的一些新特性

【推荐课程:ES6实战视频课程】

ES6新特性

let关键字

ES6引入了新的let关键字,它允许我们在函数范围内声明局部变量,例如语句,表达式或内部函数,类似于var但是let不像var那样会发生变量提升,所以,变量一定要在声明后使用,否则就会报错。

let arr=[1,2,3]
for (let i = 0; i < arr.length; i++) {

console.log(i);
}

我们写一个for循环函数然后再循环外写一个语句重用相同的变量名称时结果如下图所示

let arr=[1,2,3]
for (let i = 0; i < arr.length; i++) {

console.log(i);
}
let x=i*i;

因为它的作用域仅限于在for循环内,所以外部未声明不可使用。

const关键字

新的const关键字可以声明一个只读的常量,也称为不可变变量,声明以后我们无法重新分配新的内容。

const demo= 12;
console.log(demo);

Image 2.jpg


从效果图可以看出当const声明常量后如果我们再一次声明就会报错

但是不可变变量在ES6中并不总是完全不可变的,当我们就像保存一个对象一样保存常量,我们就可以改变它的属性和方法的值

const foo =[];

不改变地址的情况下我们可以给它增加新的内容,const声明的常量,也与let一样不可重复声明。

未标题-1.jpg

全局对象的属性

在JavaScript中全局对象就是指的是window对象,全局对象的属性赋值与全局变量的赋值是同一件事,在代码中如果一个变量未被声明则自动成为全局对象。这样的规定带来了很大的问题,没法在编译时就报出变量未声明的错误,只有运行时才能知道。但是ES6很好的解决了这一点,虽然通过let,const关键字来声明全局变量但是它不属于全局对象的属性,这也就意味着全局变量与全局对象的属性在逐步分离

var a=1;
console.log(window.a);
let b=1;
console.log(window.b);

未标题-1.jpg

总结:

显示全文