Ayl*_*ida 10 javascript types interface function typescript
我想知道是否可以使用接口来描述需要传递给函数的参数。一个例子如下:
interface Person {
name: string;
age: number;
}
function createPerson(name: string, age: number) {}
Run Code Online (Sandbox Code Playgroud)
我想使用Person接口作为createPerson参数的参考。到目前为止,我一直在使用这个:
function createPerson(name: Person['name'], age: Person['age']) {}
Run Code Online (Sandbox Code Playgroud)
虽然这比没有好,但我仍然不知道这是否是我执行此操作的最佳方法,因为我仍然需要重写所有参数名称。有更好的选择吗?提前致谢。
我 99.9% 确信没有一种方法可以像这样“传播”接口的类型定义,尤其是因为接口没有顺序,而函数参数有顺序。
您可以执行问题中所示的操作,或者Person直接接受对象:
function createPerson(person: Person) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
或通过解构:
function createPerson({name, age}: Person) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,您都可以使用对象来调用它,例如:
const createdPerson = createPerson({name: "Aylton Almeida", age: 20});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3934 次 |
| 最近记录: |