@colorkid

Как типизировать приложение?

Осваиваю TS. Пишу приложуху, возникает некоторые вопросы, и вот один из них?

Стоит ли типизировать 100% в приложение на react+redux т.е. вообще всё, и компоненты и редакс и папочку с утилитами?

На сколько "Глубоко", стоит оптимизировать конкретные функции, к примеру:

export const getLinksOnPage = (): string[] => {
  const allLinksOnPage : NodeListOf<HTMLImageElement> = document.querySelectorAll('img');
  return Array.from(allLinksOnPage).map(item => item.src);
};

Вот я типизирую что возвращает функция, ну и что может принять функция в качестве аргументов (в данном примере нет, но предположим) - с этим согласен круто, полезно, зачет. Но вот внутри функции есть еще скажем такая промежуточная типизация (NodeListOf<HTMLImageElement>) с которой я не совсем согласен, т.е. я не уверен а стоит ли такие вещи вообще типизировать, могут ли здесь проблемы быть - не уверен, НО есть проблемы что я хочу сделать некоторые вещи по коду скажем [...new Set(arr)] чтобы получить только уникальные элементы массива, а ts ругается и таких моментов море, где я пишу код не совсем как я хочу, а как меня заставляет ts. Как вы считаете стоит ли типизировать вообще все?
  • Вопрос задан
  • 203 просмотра
Решения вопроса 1
Robur
@Robur
Знаю больше чем это необходимо
ts ругаеться и таких моментов море, где я пишу код не совсем как я хочу, а как меня заставляет ts


99% что у вас какой-то косяк и возможные проблемы (даже если вы запускаете и "оно работает").

Но вот внутри функции есть еще скажем такая промежуточная типизация(NodeListOf) с которой я не совсем согласен

вы можете быть сколько угодно согласны или нет, реальные данные от этого не поменяются. И тут или типы совпадают - и тогда тайпскрипт вам помогает в разработке, или нет - и тогда у вас проблемы.
конкретно в этой строке никакой тип ставить не надо - тайпскрипт и так знает что у вас там. пишите просто const allLinksOnPage = document.querySelectorAll('img')

Как вы считаете стоит ли типизировать вообще все?

да, кроме мест где типы крайне сложно написать а профита от этого мало.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы