Pull to refresh
13
0
Данила Егоренко @danila_egorenko

Фронтенд разработчик

Send message

В целом, он нарушает концепцию Typescript (добавление слоя абстракций в виде типов), так как добавляет enum в код (который ещё и можно модифицировать, а потом ловить из-за этого ошибки), а не просто удаляет код, как те же перечисления

Например, проблемы с безопасностью, как в этой статье https://dev.to/ivanzm123/dont-use-enums-in-typescript-they-are-very-dangerous-57bh

В данном случае проще, но если использовать сложные типы, которые довольно похожи друг на друга, то профит имеет место быть

type IsNumber<T> = [T] extends [number] ? [T] extends [never] ? false : true : false

В таком случае, лучше использовать дополнительную проверку на never, но теперь это выглядит не так изящно

Конечно! Вот пример использования типа для определения принадлежности к массиву, который в дальнейшем используется для другой конструкции, которая обрабатывает разный набор данных (иногда бывает, что для одних данных может быть разный вывод типа).

type isArray<T> = T extends unknown[] ? true : false;
type MyType<T> = isArray<T> extends true ? T : { value: T };

const arr: MyType<number[]> = [1, 2, 3]; // arr имеет тип number[]
const obj: MyType<string> = { value: 'Error' }; // obj имеет тип { value: string }

Реальные примеры довольно трудно приводить из-за их зачастую большого размера, хочется сконцентироваться на сути, для этого лучше использовать абстрактные, на мой взгляд.

Лучше исполтзовать enum для поля logindata

Могли бы подробнее объяснить? Насколько я знаю, enum не считается чем-то хорошим из-за раздувания размера бандла и некоторых других проблем.

Полностью согласен, это для примера, что с infer и функциями можно создавать довольно сложные типы

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

Спасибо за рецензию :)
Подписывайся, скоро, скорее всего, выйдет новая статья по DI

Было круто! Побольше бы подобных митапов и квартирников :)

*немного душноты*

В JS и TS на первом фото скобки у метода log пропущены, такая конструкция не будет работать

Недавно был случай, прошёл все этапы собеседований, хотели уже брать. Но в итоге выбор пал в сторону (не мою) кандидата с коммерческим опытом. Это была стажировка :)

Вы правы, на рынке действительно сложно найти человека на позицию мидл и выше. Но вот ситуация на рынке труда для стажеров и даже джунов очень скверная. Вакансий на стажеров вообще практически нет, а если и есть то 400+ откликов обеспеченно.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Frontend Developer
Middle
Git
JavaScript
Adaptive layout
React
TypeScript
SASS
BEM
Web development
Angular