Вопросы к Поиску с Алисой
Разница между номинальной и структурной типизацией заключается в том, как определяется совместимость типов. habr.com scriptdev.ru
Номинальная типизация устанавливает совместимость типов, основываясь на идентификаторах типов (ссылках). scriptdev.ru При проверке на совместимость компилятор проверяет иерархию типов на признаки наследования и реализацию интерфейсов. scriptdev.ru Например, тип B будет совместим с типом A только тогда, когда он является его предком. scriptdev.ru
Структурная типизация определяет совместимость типов, основываясь не на иерархии наследования или явной реализации интерфейсов, а на описании типов. scriptdev.ru Компилятор считает типы совместимыми, если сопоставляемый тип имеет все признаки типа, с которым сопоставляется. scriptdev.ru
Таким образом, при номинальной типизации совместимость определяется на основе явных деклараций в коде программы, а при структурной — на основе структуры самих типов. habr.com
Примеры языков с номинальной типизацией: Java, C# и другие. scriptdev.ru Языки со структурной типизацией: TypeScript, Scala и им подобные. scriptdev.ru