1
const obj = {
   a: 5
} as const

obj.b ----> error

const key = "b"
obj[key] ----> no error

为什么打字稿不阻止访问会导致运行时错误的不存在的属性?在上面的示例key中,打字稿将其推断为文字“b”

4

1 回答 1

2

TypeScript 是否将此报告为错误,取决于您配置的编译器设置。如果您打开该strict选项(或至少打开noImplicitAny),它将报告为错误。

游乐场与noImplicitAny == false

游乐场与noImplicitAny == true

于 2019-09-05T11:10:54.323 回答