gpt4 book ai didi

javascript - 如何组合两个接口(interface)并使其所有字段可选?

转载 作者:行者123 更新时间:2023-11-30 09:10:53 28 4
gpt4 key购买 nike

我有两个接口(interface)不能修改:

interface Person {
name: string;
age: number;
}
interface User {
username: string;
password: string;
}

我想将它们组合成一个:Player

// please, modify this code accordingly

interface Player extends Person, User {
device: string
}

其中 nameage 是可选的。

所以,如果我这样做:

const member: Player = {
username: 'bill.gates',
password: 'M1cRoS0ft',
device: 'PSP',
}

然后我没有收到错误,因为:nameage 丢失。

这里有 Playground .

谢谢!

最佳答案

您可以使用 the native utility type Partial<T> 构造一个接口(interface),其属性是可选的,然后从中扩展。

这将给出以下代码:

interface Person {
name: string;
age: number;
}

interface User {
username: string;
password: string;
}

interface Player extends Partial<Person>, User {
device: string;
}

const member: Player = {
username: 'bill.gates',
password: 'M1cRoS0ft',
device: 'PSP',
}

Playground link

关于javascript - 如何组合两个接口(interface)并使其所有字段可选?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59135367/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com