使用箭头函数的几个注意事项

刚才写一个需要递归操作的函数,在使用arguments.callee的时候,报错undefined,因为arguments.callee在严格模式下会失效,以为是使用了=>箭头函数后,函数内部环境会以严格模式执行,查阅资料后才知道不可以在箭头函数中使用arguments对象,该对象在函数体内不存在。

以下摘自阮一峰老师在ECMAScript 6 入门第七章函数扩展第5小节箭头函数-------使用注意点

(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏玄魂工作室

Python学习:类和实例

-----------------------------------------------------

813
来自专栏noteless

[二] java8 函数式接口详解 函数接口详解 lambda表达式 匿名函数 方法引用使用含义 函数式接口实例 如何定义函数式接口

        比如接收双参数的,有 Bi 前缀, 比如 BiConsumer<T,U>, BiFunction<T,U,R> ;

643
来自专栏linjinhe的专栏

Go语言:map使用笔记

Go 的 map 是 hash map; C++ 的 map 是 tree (主流实现是红黑树); C++ 的 hash map 是unordered_ma...

2045
来自专栏领域驱动设计DDD实战进阶

03-TypeScript中的强类型

在js中不能定义类型,而是根据赋值后,js运行时推断类型。在ts中支持强类型,强类型包括string、number(浮点型,不是整型)、boolean、any(...

3357
来自专栏积累沉淀

Python快速学习第六天

第六天: 面向对象 1. 面向对象的特点——多态,封装,继承  对象:包括特性和方法,特性只是作为对象的一部分变量,而方法则是存储在对象内的函数。 (1)多态—...

1807
来自专栏个人分享

工程开发实用类与方法总结(未完)

1 .checkArgument(boolean) :   功能描述:检查boolean是否为真。 用作方法中检查参数   失败时抛出的异常类型: Illeg...

743
来自专栏DannyHoo的专栏

为什么NSString要用Copy来修饰?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

502
来自专栏积累沉淀

JavaScript Function类型

掌握: 1.函数的声明方式 2.作为值的函数 3.函数的内部属性 4.函数属性和方法 Function(函数)类型实际上是对象。每个函数都是Fu...

17210
来自专栏鸿的学习笔记

python的函数

在python里的lambda表达式只能使用纯表达式,除非像pyspark那样重载了。

892
来自专栏Android机动车

转向Kotlin——类和接口

和Java没有什么两样,Kotlin中,类的声明也使用class关键字,如果只是声明一个空类,Kotlin和Java没有任何区别,不过定义类的其他成员,区别就很...

813

扫描关注云+社区