javascript - typescript 对象文字 "this"关键字

标签 javascript typescript this object-literal

在对象字面量的函数中使用 this 时预期的行为是什么?

例如,假设我有一个类型 foo,它只有一个名为 bar 的函数,没有其他属性。但是在 fooObj.bar 方法中,我能够访问 this.baz (其中 baz 不是 类型的属性foo) 我没有看到错误。 typescript 不应该出错,因为 fooObj 上没有 baz 吗?

type foo = {
    bar(): void;
}
var fooObj: foo = {
    bar: () => {
        // TS does not error out when I access this.baz
        console.log(this.baz);
    }
} 

最佳答案

设置 "noImplicitThis": true 编译器选项是您现在启用此功能的方式。 This pull request在对象字面量中启用类型 this。 Aleksey L 最初在对该问题的评论中建议了这个编译器选项,但当时它并没有那样工作。

关于javascript - typescript 对象文字 "this"关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40268795/

相关文章:

javascript - 即使在事件发生后定义,事件处理程序也会执行

javascript - 如何为音频播放器创建可视化工具

typescript - "Q js is undefined."尝试解决测试方法中 aurelia-breeze 的 promise (karma+jasmine)

java - 在 Java 中访问类内部实例变量的最佳方法是什么?

javascript - 在JavaScript中使用 'prototype'和 'this'?

javascript - 使用 javascript 和 jquery 将图像添加到 svg 文件

javascript - ionic 导入模块

javascript - 使用类和接口(interface)有什么区别?

java - 对字段的非限定访问 - this

javascript - 解构嵌套对象 : How to get parent and its children values?