有人可以解釋爲什麼下面的代碼在打字稿中編譯,理想情況下如何防止它這樣做?在Typescript中不檢查字符串類型嗎?
class Foo {}
function bar(f : Foo) {
console.log(f)
}
bar("lol wat?")
編輯: 這僅僅是一個快速的編輯解釋爲什麼我就遇到了這個問題,有希望節省一些未來的人一些時間。 予定義的類型
type Message = MySubMessageType | SomeImportedConfigMessageType
SomeImportedConfigMessageType被允許爲一個空對象,並且因此任何方法我定義服用我的消息中的一個將採取什麼。保持安全!
他們是......這只是你的Foo類真的是一個空的對象,可以由任何東西打鴨子。 :) – toskv
如果你要添加一個屬性或方法,你也會得到錯誤。 :) – toskv