【发布时间】:2016-12-19 13:08:10
【问题描述】:
我有以下例子:
class Uncle {
constructor(public name : string) { }
talk() {
return "Hello my name is " + name;
}
}
let p : Uncle = new Uncle("Jo");
console.log(p.talk());
对于某些变量名称,typescript(现在 2.1.4 版)将不会抱怨它们没有在您的程序中定义(在方法讨论中,名称是在没有这个的情况下使用。)。 name 就是其中之一。
如果我将变量重命名为 firstName,编译器会正确地抱怨...
错误 TS2663:找不到名称“firstName”。您是指实例成员“this.firstName”吗?
同样适用于例如窗口,显然假定存在。
我的问题是:
- 假定存在哪些变量名,为什么?
- 是否可以更改该行为(例如,在某些 linter 中,您可以说明您希望哪些变量全局可用)?
【问题讨论】:
标签: javascript typescript tsc