Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/TypeScript/structural-typing

Что такое структурная типизация в TypeScript и чем она отличается от номинативной типизации?

СобеседованиеСистема типов
  • Структурная типизация — совместимость типов определяется по структуре (форме/набору свойств), а не по имени объявления. Два типа с одинаковой структурой совместимы, даже если объявлены раздельно.
  • Номинативная типизация — совместимость по имени типа (как в Java/C#).
  • В TypeScript можно имитировать номинативную типизацию через брендинг (добавление уникального поля): type UserId = number & { readonly __brand: "UserId" }
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov