视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ES6中的let和const关键字如何使用
2020-11-27 19:28:37 责编:小采
文档
 ES6中的let关键字主要用于声明局部变量,而且不会发生变量提升;const声明一个只读的常量,声明后无法重新分配新的内容

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

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

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

const foo =[];

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

全局对象的属性

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

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

总结:

下载本文
显示全文
专题