У меня есть следующий пример:Почему машинопись не жалуются на некоторых неопределенных переменных
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: Не удается найти имя «Имя». Вы имели в виду экземпляр «this.firstName»?
То же касается, например, окно, которое, по-видимому, предполагается, существует.
Мой вопрос (ы):
- Какие имена переменных предполагается существование и почему?
- Можно ли изменить это поведение (например, в некоторых линтерах вы можете указать, какие переменные вы ожидаете получить в глобальном масштабе)?
Знаете ли вы, есть ли способ отключить это? – flq
Выключить что-нибудь? Существует переменная 'name', что бы вы хотели сделать компилятору? –
не обязательно, например. когда вы пишете код для приложения node.js, окна и друзья не будут существовать. В таком случае было бы неплохо, если бы компилятор не предполагал существование этих глобальных переменных. – flq