Что такое nominal typing в TypeScript?

Senior
191 просмотров
AFK Offer AI

TypeScript использует структурную типизацию — два типа совместимы если у них одинаковая структура. Nominal typing — несовместимость по имени даже при одинаковой структуре. TypeScript нативно не поддерживает nominal typing, но есть workarounds: branded types (добавить уникальное поле), opaque types через private fields. В Node.js nominal typing важен для: ID типов (UserId vs PostId), units of measure, validated values (Email строка прошедшая валидацию).

Следующий вопрос

Что такое Node.js Permissions Model и когда использовать?