TS绕过多余属性检查

2022-10-27  本文已影响0人  蓝蓝红同学

此时因为接口只定义了name,但使用时多传入了age,TS会报错提示

interface typeA {
    name: string
}
const func = (value: typeA) => {
    return
}
func({ name: 'sss', age: 1 })

解决方法

1.类型断言

在传参时,将参数指定为该接口类型

// 1.类型断言
func({ name: 'sss', age: 1 } as typeA)
2. 索引签名

定义接口时,添加索引,这样在传参时就可任意传入其他参数

interface typeA {
    name: string
    [props:string]:any
}
上一篇 下一篇

猜你喜欢

热点阅读