怎么感觉ts很多地方很反人类,我感觉可能是因为没有案例,无法理解为什么要这么做
来源:3-1 TS 函数类型和相关解构

Richard学python
2023-10-23
我能明白函数参数的解构,但是不知道为什么就是觉得没用。
比如:
interface subInfoType {
name: string;
age: number;
sex: string;
}
let subInfo = ({ name, age }: subInfoType):void => {
console.log('name:', name);
console.log('age:', age);
return
};
subInfo({name:'richard',age:18}) // 还是要传入3个参数才能不报错
既然在设计函数的时候,只用到两个参数,可是在调用的时候依旧需要传入3个才行,这样设计的意义是什么呢?很难理解,get不到ts的精华所在😭,求解答
写回答
1回答
-
keviny79
2023-11-15
可以把任意一个属性设置为可选属性, sex 设置为可选属性,这样好处是变成一个可选属性了,可传,不需要的时候可以不传,当然这里这是一个例子。我们把问题往前推进异步,比如,我这个接口有几个备注属性,有时调用传递时需要,有时又不需要,那么我们不可能定义两个接口,对吧。
interface subInfoType {
name: string;
age: number;
sex?: string;
}
另外不好意思,我进来多次今天才看到这个问题,难道是我看丢了?现在补答。
00
相似问题