讲师回答 / 黑石
这是两种安全策略的问题,分为类型匹配和属性访问限制。类型匹配:在你的代码中,变量 c2 被定义为 Course2 类型,这是 EnglishCourse | MathCourse 的联合类型。变量 c2 的结构 { name: 'a', desc: 'abc' } 符合 EnglishCourse 接口的定义(因为 EnglishCourse 有 name 和 desc 两个属性),所以 TypeScript 认为这是一个有效的赋值。 接下来,关于为什么你不能直接访问 c2.desc:属性访...
2024-01-03