我不明白为什么打字本没有强调这是一个错误...
当我有条件地向对象添加该对象类型定义中不存在的新属性时,TypeScrip会为其赋值
type Filters = {
keywords: Array<string>
}
const condition = 1;
let filters: Filters = {keywords: ['keyword']}
filters = {
...filters,
...(condition && {...{ tags: ['tag']}}),
}
结果:
filters: {
keywords:["keyword"]
tags:["tag"]
}
虽然我预计会收到此错误:
Object literal may only specify known properties, and 'tags' does not exist in type 'Filters'.
PS:当我try 以这种方式添加相同的属性时,我得到预期的错误:
filters = {...filters, tags: ['tag']}