首页 > 解决方案 > 为什么 TypeScript 编译器在我的示例中忽略了“noImplicitThis”选项?

问题描述

考虑代码:

class x {
    public variable: number = 0;
    public x() {
        const c = [];
        c.push({
            xxx () {
                console.log(this.variable);
            }
        });
    }
}

匿名函数 xxx 无权访问类“x”的“this”。通常只有在 'this' 隐含类型为 any 时才能编译。但它确实编译

如果我在一个单独的值中提取我的文字对象,我实际上会得到一个我期望的编译错误。

它是编译器错误吗?

注意:您需要在 typescript playground 中手动启用“noImplicitThis”,因为显然选项不可共享。

标签: functiontypescriptthisimplicitanonymous

解决方案


推荐阅读