-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ES6模块:箭头函数 #31
Comments
一些Demo定义事件的回调函数箭头函数的错误写法:
正确的写法:
箭头函数的正确写法:
箭头函数和普通函数this指向问题(重点)箭头函数的
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
关于箭头函数,引用 MDN 的介绍:
基本语法
直接返回一个对象:
与变量解构结合
箭头函数与普通函数的区别
自身没有
this
箭头函数没有
this
,需要通过查找作用域链来确定this
的值。意味着如果箭头函数被非箭头函数包含,this
绑定的就是最近一层非箭头函数的this
。由于箭头函数没有this
,所以也不能用call
、apply
、bind
这些方法来改变this
的指向:若用
let value = 1
来定义,则result
的结果返回为undefined
。没有arguments
箭头函数没有自己的
arguments
对象,它可以访问外围函数的arguments
对象:可以通过命名参数或者 rest 参数的形式访问箭头函数的参数。
不能通过new关键词调用
JS
函数有两个内部方法:[[Call]]
和[[Construct]]
。当通过
new
调用函数时,执行[[Construct]]
方法,创建一个实例对象,然后再执行函数体,将this
绑定到实例上。当直接调用的时候,执行
[[Call]]
方法,直接执行函数体。箭头函数并没有
[[Construct]]
方法,不能被用作构造函数,若通过new
的方式调用,会报错。没有 new.target
因为不能使用
new
调用,所以也没有new.target
值。没有原型
由于不能使用
new
调用箭头函数,所以也没有构建原型的需求,于是箭头函数不存在prototype
这个属性。没有 super
连原型都没有,自然不能通过
super
来访问原型的属性,所以箭头函数是没有super
的,跟this
、arguments
、new.target
一样,这些值都由外围最近一层非箭头函数决定。自执行函数
自执行函数的形式为:
利用箭头简化自执行函数
注意:使用以下写法会报错。原因
参考文章
The text was updated successfully, but these errors were encountered: