Почему в моем примере компилятор TypeScript игнорирует параметр noImplicitThis? - PullRequest
0 голосов
/ 12 октября 2018

Рассмотрим код:

class x {
    public variable: number = 0;
    public x() {
        const c = [];
        c.push({
            xxx () {
                console.log(this.variable);
            }
        });
    }
}

Анонимная функция xxx не имеет доступа к «this» класса «x».Обычно это может быть скомпилировано, только если «this» неявно имеет тип any. Но он компилируется .

Если я извлекаю свой литеральный объект в отдельное значение, я на самом деле получаю ожидаемую ошибку компиляции .

Это ошибка компилятора?

Примечание: вам нужно вручную включить noImplicitThis в машинописной игровой площадке, потому что, по-видимому, опции не доступны для совместного использования.

...