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()

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

你可能感兴趣的:(es6,javascript,前端)