为什么`this`在ES6箭头功能中不起作用?

黑曼巴

这是我的代码:

'use strict';

let obj = {
  username : 'Hans Gruber',
  hello: () => 'hello, ' + this.username
};
console.log(obj.hello());

但是输出是:hello, undefined

我希望输出为:hello, Hans Gruber

我想我对this箭头功能还不了解谁能给我一个清晰的解释?

巴尔玛

箭头函数将的绑定保存在this创建函数时创建的闭包中。因此,它不会设置this为函数调用的上下文。

在你的情况下,this注定要window当您创建的对象,所以this.usernamewindow.username不是obj.username

文档中

箭头函数表达式(也称为胖箭头函数)的语法比函数表达式短,并且按词法绑定this

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ES6的箭头功能中的“ this”指的是什么?

来自分类Dev

ES6箭头功能

来自分类Dev

ES6箭头功能:为什么在构造函数和对象文字中使用“ this”时指向不同?

来自分类Dev

为什么setInterval()在我的ES6代码中不起作用?

来自分类Dev

为什么setInterval()在我的ES6代码中不起作用?

来自分类Dev

带有箭头功能的setState不起作用

来自分类Dev

在 ES6 类语法中为什么 setPrototypeOf() 起作用而其他类似的方法不起作用

来自分类Dev

ES6,如果有箭头功能

来自分类Dev

没有参数的ES6箭头功能

来自分类Dev

ES6使用箭头功能分配变量

来自分类Dev

如何更改ES6箭头功能的“ this”指向的内容?

来自分类Dev

带括号的ES6箭头功能

来自分类Dev

ES6箭头功能意外令牌

来自分类Dev

javascript es6双箭头功能

来自分类Dev

带有箭头功能es6的setTimeout ReactJS

来自分类Dev

ES6使用箭头功能分配变量

来自分类Dev

ES6箭头功能意外令牌

来自分类常见问题

ES6对象中的方法:使用箭头功能

来自分类Dev

流星ES6胖箭头功能和onCreated中的“ this”无法正常工作

来自分类Dev

如何在ES6中递归编写箭头功能?

来自分类Dev

在带有Foo.prototype的节点0.11中使用ES6箭头功能

来自分类Dev

跳至Sublime文本编辑器中的ES6箭头功能

来自分类Dev

es6 中的默认值不适用于箭头功能

来自分类Dev

为什么不能在箭头功能中访问`this`?

来自分类Dev

节点require()与es6 import:为什么此示例不起作用

来自分类Dev

为什么ES6 prop快捷方式不起作用?

来自分类Dev

为什么在类的方法中使用ES6的代理不起作用?

来自分类Dev

为什么在 es6 中导入在这里不起作用?

来自分类Dev

为什么用 ES6 方式定义 React 组件构造函数不起作用?

Related 相关文章

  1. 1

    ES6的箭头功能中的“ this”指的是什么?

  2. 2

    ES6箭头功能

  3. 3

    ES6箭头功能:为什么在构造函数和对象文字中使用“ this”时指向不同?

  4. 4

    为什么setInterval()在我的ES6代码中不起作用?

  5. 5

    为什么setInterval()在我的ES6代码中不起作用?

  6. 6

    带有箭头功能的setState不起作用

  7. 7

    在 ES6 类语法中为什么 setPrototypeOf() 起作用而其他类似的方法不起作用

  8. 8

    ES6,如果有箭头功能

  9. 9

    没有参数的ES6箭头功能

  10. 10

    ES6使用箭头功能分配变量

  11. 11

    如何更改ES6箭头功能的“ this”指向的内容?

  12. 12

    带括号的ES6箭头功能

  13. 13

    ES6箭头功能意外令牌

  14. 14

    javascript es6双箭头功能

  15. 15

    带有箭头功能es6的setTimeout ReactJS

  16. 16

    ES6使用箭头功能分配变量

  17. 17

    ES6箭头功能意外令牌

  18. 18

    ES6对象中的方法:使用箭头功能

  19. 19

    流星ES6胖箭头功能和onCreated中的“ this”无法正常工作

  20. 20

    如何在ES6中递归编写箭头功能?

  21. 21

    在带有Foo.prototype的节点0.11中使用ES6箭头功能

  22. 22

    跳至Sublime文本编辑器中的ES6箭头功能

  23. 23

    es6 中的默认值不适用于箭头功能

  24. 24

    为什么不能在箭头功能中访问`this`?

  25. 25

    节点require()与es6 import:为什么此示例不起作用

  26. 26

    为什么ES6 prop快捷方式不起作用?

  27. 27

    为什么在类的方法中使用ES6的代理不起作用?

  28. 28

    为什么在 es6 中导入在这里不起作用?

  29. 29

    为什么用 ES6 方式定义 React 组件构造函数不起作用?

热门标签

归档