У меня есть следующий пример:
class Uncle {
constructor(public name : string) { }
talk() {
return "Hello my name is " + name;
}
}
let p : Uncle = new Uncle("Jo");
console.log(p.talk());
Для некоторых имен переменных машинописный текст (сейчас Версия 2.1.4) не будет жаловаться, что они не определены в вашей программе (в разговоре о методе имя используется без это.). name
является одним из них.
Если я переименую переменную, скажем, в firstName
, компилятор справедливо жалуется...
ошибка TS2663: не удается найти имя "firstName". Вы имели в виду член экземпляра this.firstName?
То же самое касается, например. окно, которое, по-видимому, предполагается существующим.
Мой вопрос (ы):
- Какие имена переменных предполагаются существующими и почему?
- Можно ли изменить это поведение (например, в некоторых линтерах вы можете указать, какие переменные должны быть глобально доступны)?