ES6箭头函数的特性
箭头函数的特性有什么?让我为大家介绍一下吧!
1.不绑定arguments,用rest参数…解决
let fun = ()=>{
console.log(arguments) //报错 arguments is not defined
}
fun()
可以使用剩余参数
let fun = (...a)=>{
console.log(a) //[1, 2, 3]
}
fun(1,2,3)
2.本身没有this的概念,捕获其所在上下文的 this 值,作为自己的 this 值,this指向全局
const obj = {
name:"zs",
age:18,
fun(){
console.log(this) //this指向obj
},
fn:()=>{
console.log(this) //this指向window
}
}
obj.fun()
obj.fn()
3.箭头函数不能使用new
let Fun = ()=>{}
let zs = new Fun()
console.log(zs) //Fun is not a constructor(构造函数)
4.箭头函数没有原型属性(prototype)
let Fun = ()=>{}
console.log(Fun.prototype) //undefined
5.箭头函数不能当做Generator函数,不能使用yield关键字
如果大家想了解生成器可以阅读一下,点击转跳ES6初步了解生成器
普通函数中
function * fun() {
yield 111
}
let iterator = fun()
console.log(iterator)
6.箭头函数有constructor、length属性
let fun = ()=>{
console.log(constructor) //ƒ Window() { [native code] }
console.log(length) // 0
}
fun()
感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!