Может ли кто-нибудь объяснить, почему следующий код компилируется в машинописном тексте и в идеале, как его предотвратить?Строки не указаны в Typcript?
class Foo {}
function bar(f : Foo) {
console.log(f)
}
bar("lol wat?")
EDIT: Это просто быстро исправить, чтобы объяснить, почему я столкнулся с этой проблемой, мы надеемся сохранить некоторые будущие люди некоторое время. я определил тип
type Message = MySubMessageType | SomeImportedConfigMessageType
SomeImportedConfigMessageType разрешили быть пустой объект, и, таким образом, любой метод, я определил, принимая один из моих сообщений будет принимать что-либо. Будьте в безопасности!
они .. это просто, что ваш класс Foo действительно пустой объект и может быть утка, набранная чем угодно. :) – toskv
, если вы добавите свойство или метод к нему, вы также получите ошибки. :) – toskv