es6(一)

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);

在这里插入图片描述

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

在这里插入图片描述
在以上两个代码运行结果中可以看出,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命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值