класс это функция конструктор, а интерфейс хуй знает, говно от майкрософт
Александр
Короче
типы использую там где их не нужно потом экпортировать, а интерфейсы - это публичные типы, которые можно передавать между компонентами, сервисами и тп
Это условно. Плюс у них разница в информативности и возможности расширения. интерфейсы расширяемы, а типы только один раз задаются
🏴☠️
в тс protected это нихуя не защищенное поле, после транспиляции в жс
почитал, понял о чем ты
Ну да, в ts можно задавать не только типы и имена методов, но еще и типы по сути "состояния" объекта в виде атрибутов
Тут хз что ответить)
он нужен) С ним разработка быстрее идет и багфикс быстрее на крупняках. Он носит информационный характер
Например когда у тебя объект проходит через 100500 функций в цепочке, на выходе как понять какая у него структура на этапе написания кода?
Вот чистый js херас два это покажет) А когда на ts прогаешь, то он в любом месте покажет тип и структуру и ругнется еще, что делаешь что-то не то сним)
Я не встречал таких ошибок в реальных ситуациях. Ни разу ТС не ускорял мою разработку, всегда замедлял
Александр
Мне TS нужен. чтобы быстрее разгребать тонну навоза после 100500 патчей разными разработчиками)
+ самому удобно, когда можно прям на месте посмотреть типизацию и структуру, а не лезть через 100500 файлов, чтобы узнать а че там передается)
Тесты писать хорошо, но поймешь ошибку только когда запустишь его) А с ts это в лайв режиме делается)
Александр
Если бы на проекте был изначально tdd ( что блин вообще крайняя радкость) Не было еще ниразу, чтобы я пришел в проект и там было все хорошо сэ тим_
TS проверяет типы, а не правильность твоего кода
Он не ругнется на херовый алгоритм, но ругнется, если ты пытаешься из объекта достать атрибут, которого нет в описанном типе)
Поздравляю)
Но это делаю поголовно все джуны и иногда сеньеры, которые не наизусть знают проект. Например в энтерпрайз кровавый пришел. Тут сотни тысяч строк кода и тупо все на запомнишь что где и как и покрытие тестами отстойное)
А был бы ts, то можно было бы и не разбираться с тем как там все устроено.
По опыту, после внедрения TS скорость разработки падает, но общая скорость релиза новой версии вырастает.
Скорость закрытия багов увеличивается почти на 60%
у тебя нет, а представь, что тебе нужно новых людей н апроект посадить и не все нормально в таким подходом работали)
Многие начинают упрощать жизнь, делают свои декораторы под вообще все подрят и у тебя появляется ад в виде повсеместных проверок)
О чем спорим вообще?
у ts нет цели сделать JS безопасным
Его цель привести разработку ближе к классической под ООП и не более. Просто удобство и доп информация по коду. Проверки на этапе кодинга.