我有一个问题,当在Typescript中使用spread运算符时,Eslint不会抱怨您更改的属性不存在。一个简单的例子如下:
interface Car {
name: string,
price: number
}
const redCar = <Car>{ name: 'redCar', price: 25.000 };
const changePrice = <Car>{ ...redCar, pric: 20.000 };
在上面的例子中,当你将price赋值给redCar时,Eslint会抱怨你输入的price不正确,但是当使用spreadOperator时,它不会抱怨price不存在。我知道你可以做以下事情:
interface Car {
name: string,
price: number
}
const redCar: Car = { name: 'redCar', price: 25.000 };
const changePrice: Car = { ...redCar, pric: 20.000 };
但我并不是每次都在调整对象内部的变量时创建变量(例如使用map时)。在Eslint中是否需要启用某个规则来防止此类错误发生?
1条答案
按热度按时间bhmjp9jg1#
如果你想防止多余的属性,你可以使用从TS 4.9开始提供的
satifies
。Playground