ES6系统学习之变量

声明方法

在ES5中我们的声明关键字只有一个var,我们任何变量都使用var来声明,甚至重复声明同一个变量,比如下面这样。

var a = 1;
var a = 2;

这样的写法明显是有缺陷的,但是在ES5中这样的写法并不违法。

let(不可重复声明)

let是ES6中新的声明方法,他的特点是已经声明过的变量不能重复声明,就想上面那个例子,如果我们用let关键字声明,他就会出现以下报错,提醒我们变量已经声明
在这里插入图片描述

const(常量)

常量的概念在很多语言中都存在,在ES6中也引入了常量的声明方式const,和其他语言的常量一样,被声明的常量不能被重新赋值。由于const具有和let一样的不可重复声明的特性,因此我们需要修改一下上面的例子:

const a = 1;
a = 2;

他会出现以下报错,提醒我们不能对常量再进行赋值。
在这里插入图片描述

块级作用域

var的作用域

在ES5中,var的作用域是函数级的,即我们在函数内部的任何地方只要使用var声明了变量,由于变量提升,该变量就能在该函数的任何地方被访问。
由于ES5中我们没有块级作用域变量,所以我们常常采用闭包或者立即执行函数IIFE的方法实现块级作用域的效果,他们的原理依然是利用var的函数级作用域。

let的作用域

在ES6中,let的作用域是块级的,所谓代码块,即 { } 括起来的部分。

解构赋值

let { a, b } = { a: 1, b: 2 }
let [c, d] = [12, 13]

目的:为了取数据方便。
注意事项:

  1. 两边的结构必须一样;
  2. 右边必须是个对象(数组);
  3. 赋值和解构需同时完成,不能分成两句代码;

总结

varletconst
可以重复声明不能重复声明不能重复声明
不能限制修改变量可修改常量不能再赋值
函数级作用域块级作用域块级作用域

var say goodbye!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值