ES6箭头函数的特性

简介: 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()

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

相关文章
|
7月前
ES6之箭头函数
ES6之箭头函数
|
19天前
|
JavaScript
哪些场景适合使用 ES6 的箭头函数?
总之,当需要简洁地定义函数、处理回调函数、避免 `this` 指向问题以及进行函数式编程等场景时,ES6的箭头函数都是一个很好的选择。但需要注意的是,箭头函数也有一些限制,如不能作为构造函数使用等,在使用时需要根据具体情况进行选择。
|
1月前
|
自然语言处理
ES6 中箭头函数和普通函数区别
【10月更文挑战第19天】这些仅是对箭头函数和普通函数区别的一些主要方面进行的详细阐述,实际应用中可能还会有更多具体的细节和情况需要进一步探讨和理解。可以根据自己的需求进一步深入研究和实践,以更好地掌握它们在不同场景下的应用。
32 2
|
3月前
|
JavaScript 前端开发
ES6+ 特性,箭头函数、解构赋值、模块导入
ES6+ 特性,箭头函数、解构赋值、模块导入
|
3月前
|
JavaScript
ES6--->箭头函数、类、模块化
ES6--->箭头函数、类、模块化
26 3
ES6学习(4)箭头函数
ES6学习(4)箭头函数
|
7月前
在ES6中,箭头函数可以像传统函数一样使用`this`吗?
在ES6中,箭头函数可以像传统函数一样使用`this`吗?
34 1
|
7月前
Es6箭头函数
Es6箭头函数
63 0
|
自然语言处理 JavaScript
ES6中的箭头函数及其使用场景
ES6 (ECMAScript 2015) 引入了许多新特性,其中之一就是箭头函数。箭头函数是一种更加简洁和便捷的函数定义方式,本文将详细介绍 ES6 中的箭头函数,并探讨其适用场景及注意事项。
131 0