Задать вопрос
@gofi

Как правильно типизировать регулярку при деструктуризации?

Как правильно типизировать регулярку при деструктуризации?
const [a, b, c, d, f, g= ''] = value.match(/\d+/g);
TS ругается на Type 'RegExpMatchArray | null' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators.
  • Вопрос задан
  • 163 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 2
Aetae
@Aetae Куратор тега JavaScript
Тлен
Ну, тебе прямым текстом сказано: match может вернуть null и тогда произойдёт ошибка во время исполнения.

Либо так:
const [a, b, c, d, f, g= ''] = value.match(/\d+/g) || [];
Либо, если ты на 146% уверен, что match обязательно что-нибудь найдёт:
const [a, b, c, d, f, g= ''] = value.match(/\d+/g) as string[];
Ответ написан
Комментировать
Lynn
@Lynn
nginx, js, css
А вы уверены, что он будет не null?
Если да, то можно просто сообщить об этом компилятору:
const [a, b, c, d, f, g= ''] = value.match(/\d+/g)!;


Но по хорошему надо бы проверять на null. Хотя бы так:
const [a, b, c, d, f, g= ''] = value.match(/\d+/g) || [];
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы