ES6新特性概要
1、箭头函数
//声明一个箭头函数
window.name='计算机'
let fn (a,b)=>{
console.log(this.name)
}
//1、this 特性
箭头函数的this 始终指向 声明这个箭头函数时的 作用域下的this
//调用
fn();//'计算机'
//2、简写
//只有一个入参时,可省略小括号
let fn =a=>{
}
//代码体只有一句代码时可省略花括号,此时return 也必须省略
//且函数的执行结果就是函数的返回值
let fn=a=>a*a // let fn=a=> return a*a
//调用
console.log(fn(5)) //输出 25
总结:箭头函数只适合 数组的方法回调,定时器等等,与this无关的;部署和对象的方法
2、形参默认值
let fn=(a,b,c=3)=>a+b+c
//调用时未传c,但是声明的时候给了默认值
console.log(fn(1,2)) //输出6
3、rest参数和arguments
//arguments 返回的是一个对象
//rest 返回的是一个数组
let fn=(a,b,b,d)=>{
//es5
console.log(arguments)
}
fn(1,2,3,4) //{0:1,1:2,2:3,3:4}
//rest
let bn=(a,b,c,...arr)=>{
console.log(a) //1
console.log(b) //2
console.log(c) //3
console.log(arr) //[4,5,6]
}
bn(1,2,3,4,5,6)
let cn=(...brr)=>{
console.log(brr) // [1,2,3,4] 由于是数组那么可以用 数组的方法 filter map some every 等等
}
cn(1,2,3,4)