欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

es6(一)

程序员文章站 2022-07-13 08:42:18
...

es6简介

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

ECMAScript和javascript的关系

前者是后者的规格,后者是前者的一种实现。

好了,简单的介绍了一下es6,至于其中的历史关系,请自行查阅,在这里就不多做赘述了。接下来我们来进入正题。

let和const

let和const申明的变量的var申明的变量的区别是:
1.var申明的变量会提升,而let和const申明的变量不会提升;
2.只能申明一个相同的属性名,若有两个或者多个,则会报错;
其中,let申明的变量只会在作用域内有效,如下代码表示了var和let这两个变量申明变量的区别:

var abc = [];
for (var i = 0; i < 10; i++) {
    console.log(i);
}
console.log(i);

es6(一)

var abc = [];
for (let i = 0; i < 10; i++) {
    console.log(i);
}
console.log(i);

es6(一)
在以上两个代码运行结果中可以看出,let申明的变量在作用域外是无法访问的,而var申明的变量在循环结束之后依然可以进行访问。

暂时性死区

什么是暂时性死区?
简单来说,在使用let申明变量时,只要在块级作用域内,那么它所申明的那个变量就会绑定在改作用域内,在外无妨访问。
如果区块中存在let和const的命令,那么它们会自动形成一个封闭的作用域,一旦在这些变量未申明之前使用,就将会报错,这种情况在语法上被称为暂时性死区

块级作用域

在es6中,允许块级作用域的任意嵌套

{{{{{{{{{{{{{let abc = "hello"}}}}}}}}}}}}}

do表达式

do表达式可已得到作用域的返回值,如下:

const test = do {
	let a = 2;
	let b = 4;
	a * b + 1;
}
console.log(test) //9

do{}的作用
do {}表达式最后会返回内部最后执行的表达式的值
do表达式的好处是可以封装多个语句,让程序更加模块化
do块级作用域提供了单独的作用域,内部操作可以与全局作用域隔绝。

const 命令

const命令一旦申明一个值,那么这个值就不能改变,一旦改变就会报错。
const的作用域与let命令相同:只在声明所在的块级作用域内有效。
const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。
const声明的常量,也与let一样不可重复声明。

最后说一下es6中申明变量的六种方法:
1.var命令
2.function命令
3.let命令
4.const命令
5.import命令
6.class命令

相关标签: es6