Как мне охранять поп? - PullRequest
       45

Как мне охранять поп?

0 голосов
/ 14 апреля 2020

Я использую строгий режим. У меня есть следующий код:

const a: string[] = [];
// something that fills `a`
while (a.length > 0) {
  const i: string = a.pop();  // Error on this line
  console.log(i); 
  // maybe add something else to `a`
}

В этом случае я получаю сообщение об ошибке в строке, потому что pop имеет тип возврата string | null. Что имеет смысл для общего использования метода pop, но я защищаюсь от этого случая? Есть ли более машинописный способ сделать это, чтобы получить правильную защиту типа?

Я не могу просто l oop над массивом (например, используя of), потому что иногда a добавляет новые элементы к нему во время l oop и семантика не совпадают.

1 Ответ

0 голосов
/ 14 апреля 2020

Почему бы вам не проверить всплывающие данные, прежде чем всплывет

if (a[a.length -1]) {
    const i: string = a.pop()
}
a.pop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...