ES6箭头函数的特性

箭头函数的特性有什么?让我为大家介绍一下吧!
1.不绑定arguments,用rest参数…解决

    let fun = ()=>{
        console.log(arguments) //报错 arguments is not defined
    }
    fun()
1
2
3
4
可以使用剩余参数

    let fun = (...a)=>{
        console.log(a) //[1, 2, 3]
    }
    fun(1,2,3)
1
2
3
4
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()
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值