1. ECMAScript介绍
(1)、ECMAScript是什么?
ECMAScript就是JavaScript中的语法规范!
ECMAScript是属于国际标准化的语言,所有浏览器开发商都要按照它制定的标准来开发浏览器。开发者也一样,按照它的规定来编程代码。
(2)、ECMAScript作用?
ECMAScript是JavaScript的组成部分,它很重要,它还有其他作用吗?有的,它还定义了很多重要的东西,比如:语法---解析规则,关键字,语句,声明,操作等;类型---布尔,数字,字符串,对象等;原型和继承;内置对象和函数的标准库---JSON,Math,数组方法,对象内省的的方法等
2. let/const/var的区别
一,变量提升
1.var声明的变量存在变量提升,即变量可以在声明之前调用,值为undefined
2.let和const不存在变量提升.
二,块级作用域
1.var不存在块级作用域
2.let和const存在块级作用域
三,重复声明
1.var允许重复声明变量
2.let和const在同一作用域不允许重复声明变量
四,修改声明的变量
1.var和let可以
2.const声明一个只读的常量。一旦声明,常量的值就不能改变
五,使用
1.能用const的情况尽量使用const,其他情况下大多数使用let,避免使用var
3. 浏览器兼容ES6
(1)、如何解决兼容性问题
比较通用的工具方案有babel,jsx,traceur,es6-shim等。
4. 解构赋值
(1)、什么是解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值(Destructuring)。
变量的解构赋值:
注意到了吗?赋值的代码大大减少了,不需要分别把变量a,b,c分别声明定义和赋值,只需要将变量a,b,c作为一个数组的元素,然后将数组[1,2,3]赋值给数组[a,b,c]即可,变量a,b,c即可分别得到对应的值。
(2)、数组的解构赋值
解构赋值可以嵌套
如我们的预料,数组中即使再嵌套另一个数组,解构赋值也能为我们的变量准确的赋值,c1和c2的值分