【发布时间】:2018-03-14 12:15:09
【问题描述】:
为什么下面的 TypeScript 代码生成的 JavaScript 在执行时会生成一个TypeError?
class Foo {
public foo: {
bar: number
};
constructor() {
this.foo["bar"] = 123;
}
}
new Foo();
我正在使用 --strict 选项编译代码,所以我希望对未初始化变量的赋值会被捕获,但它不会。
C:\Users\Simon\test.js:4
this.foo["bar"] = 123;
^
TypeError: Cannot set property 'bar' of undefined
at new Foo (C:\Users\Simon\test.js:4:25)
at Object.<anonymous> (C:\Users\Simon\test.js:8:1)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:389:7)
at startup (bootstrap_node.js:149:9)
我使用的是 TypeScript 2.5.3。
【问题讨论】:
-
如果您想在编译时遇到错误 - 目前是不可能的。 Related issue
标签: javascript typescript undefined typeerror