Conditional types в TypeScript: как работает extends
Короткий ответ: “типа если type” в TypeScript обычно означает conditional type, то есть условный тип. Он пишется так: T extends U ? A : B. Это похоже на if, но работает не во…
Материалы рубрики
Короткий ответ: “типа если type” в TypeScript обычно означает conditional type, то есть условный тип. Он пишется так: T extends U ? A : B. Это похоже на if, но работает не во…
Короткий ответ: “адекватный транспайлинг” для Node.js зависит от того, как вы запускаете проект: CommonJS или ES modules. Для современного Node.js с ESM часто используют module: "NodeNext", moduleResolution: "NodeNext" и "type": "module" в package.json.…
Короткий ответ: массив объектов в TypeScript типизируют через тип одного элемента. Сначала описывают объект, потом указывают массив таких объектов: Product[] или Array Пример: Теперь TypeScript проверит каждый объект в массиве. Если забыть price…
Короткий ответ: из замыкания в TypeScript лучше экспортировать не саму скрытую переменную, а функцию, фабрику или объект методов, которые получают доступ к этой переменной. Замыкание остается приватным, а наружу выходит типизированный API Плохая…
Короткий ответ: путь к типам TypeScript меняют в tsconfig.json, но важно выбрать правильную настройку. Для папок с глобальными .d.ts используют typeRoots, для выбора конкретных пакетов из @types — types, для алиасов импортов —…
Короткий ответ по-человечески: к TypeScript стоит относиться спокойно. Это не “магия для взрослых разработчиков” и не лишняя бюрократия ради галочки. Это инструмент, который помогает заранее видеть ошибки в данных, props, API-ответах, функциях и…
Короткий ответ: если в React + TypeScript ломается кастомный компонент, почти всегда проблема в props. Нужно явно описать, какие свойства компонент принимает, добавить children, если внутри есть вложенный контент, и расширить HTML-атрибуты, если…
Короткий ответ: глобальные компоненты во Vue 3 регистрируют через app.component() до вызова app.mount(). В TypeScript важно дополнительно настроить типы .vue файлов и, если нужно, объявить глобальные компоненты для подсказок редактора. Но для индексации…
Короткий ответ: в Visual Studio Code не нужно устанавливать расширение, чтобы редактор начал понимать TypeScript. VS Code уже имеет TypeScript language service для подсказок и ошибок в редакторе. Но компилятор tsc, который превращает…
Короткий ответ: чтобы Puppeteer и TypeScript нормально работали вместе, не начинайте с хаотичных правок импортов. Сначала поставьте актуальные зависимости, выберите понятный режим модулей, запустите минимальный скрипт через tsx или предварительную компиляцию tsc, а…