什么是ES6
ES6是ECMA Script 6.0的简称, 就是语言最新的标准, 发布与15年左右 目标让js语言成为能支持去编写大型复杂的应用语言, 成为企业级开发语言
ES6的发展史
变量声明const和let
1.let
let用来声明变量;有块级作用域;不存在变量提升;在同一作用域内不能重复声明;声明的变量不属于顶层对象的属性;存在暂时性死区。
2.const
const用来声明常量,一旦声明,常量的值就不能更改,更改常量的值会报错。
const一旦声明,必须初始化,否则会报错。
const有块级作用域;不存在变量提升;在同一作用域内不能重复声明;声明的变量不属于顶层对象的属性;存在暂时性死区。
解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值。如果解构不成功,变量的值就等于undefined。
let [a,b,c]=[1,2,3];
console.log(a,b,c) //1,2,3
模板字符串
let age = 18;
console.log(`我今年${age}岁`)
${}里面可以插入任何js表达式,可以是一个对象,数组,甚至是一个函数。对象或者数组会调用它们的toString()方法。函数分两种情况:函数本身,同样会调用它的tostring()方法;直接调用函数,则输出函数的返回值。
箭头函数
语法:箭头函数是一个函数表达式,理论上,任何使用函数 表达式的地方都可以改成箭头函数
(参数1,参数2…) => {
函数体
}
没有 this对象 它的this对象时window的
不可以作为 构造函数来使用 箭头函数不能使用new关键字Rest 来代替 arguments 来 输出值 下标 数据来源
写法:
1.Let arr= ( () => {} )
2.let arr = () =>值
3.函数的参数 => 函数的返回值
4.函数的参数为一个值的时候可以不加括号
5.函数的返回值加上{}(花括号),不写return 返回 undefined,写了就返回参数
扩展运算符(…)
- 收集符只能出现一次
- 一个函数,剩余参数收集只能在最后一个形参
- 可以用于取出参数对象的所有可遍历属性,拷贝到当前对象之中,属于浅克隆。
let arr = [1,2,3];
console.log(...arr);
let arr2 = [4,5,6];
let newArr = [...arr,...arr2];
console.log(newArr)·//123456