首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Aurelia transpiler:"this“为"null”

Aurelia transpiler:"this“为"null”
EN

Stack Overflow用户
提问于 2016-02-28 03:26:30
回答 1查看 58关注 0票数 1

我的Aurelia应用程序中有以下代码:

代码语言:javascript
复制
import {digit} from "../util/random" // generates a random digit [0,9]

export class UnitedStates {

  zipCode() {
    return ""+digit(5);
  };

  zipPlus4() {
    return this.zipCode()+"-"+digit(4);
  };

  ...

}

获取zipPlus4正文的错误TypeError: Cannot read property 'zipCode' of null。在开发人员工具中的检查显示,thisnull

为什么是this null,我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2016-02-28 09:33:52

这是转译器的一个问题。回想一下,箭头函数表示法维护词法this (或者更多的read here )。因此,当Babel和其他转译器进入新的作用域时,它们维护一个本地this变量,以便可以从任何子作用域访问它。通常,此变量为_this

有时,像DevTools这样的调试器很难理解源地图,并且它们会报告一个空this。事实证明,这只在检查代码时才会发生;当运行代码时,它会正常工作。

那么,当报告this为空时,如何检查它的值呢?通常从控制台检查_this。这将为您提供正在使用的真实this值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35674373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档