Модификатор только для чтения требуется - PullRequest
0 голосов
/ 25 июня 2019

В следующем классе tslint readonly-keyword не позволяет мне иметь постоянную переменную timestamp, хотя я переназначаю значение в классе.Мне нужно иметь переменную timestamp по умолчанию false и переназначаться при необходимости.

export default class A {
    private timestamp: boolean = false;

    withTimestamp() {
        this.timestamp = true;
    }
}

Если я сделаю следующее,

export default class A {
    private readonly timestamp: boolean = false;

    constructor() {
        this.timestamp = true;
    }
}

tsserver, предупреждая меня

timestamp объявлено, но его значение никогда не читается.

Как this.timestamp в конструкторе не имеет доступа к той же переменной timestamp класса?

1 Ответ

0 голосов
/ 25 июня 2019

Не похоже, что здесь что-то не так ...

private readonly timestamp: boolean = false;

constructor() {
    this.timestamp = true;
}

двойная инициализация, вероятно, не должна проходить через некоторые флаги lint, но, похоже, это не ваша проблема.

Некоторые глупые вещи, которые вы можете попробовать:

  • Переименуйте 'timestamp' во что-то другое

  • нпм i

  • Перезапустить IDE

...