gpt4 book ai didi

typescript 接口(interface)变量克隆

转载 作者:搜寻专家 更新时间:2023-10-30 21:16:36 25 4
gpt4 key购买 nike

我知道typescript的interface是一个Type,所以如果我定义一个接口(interface),我就可以用它来定义一个变量。我的问题是,是否有任何(预定义的)方法来复制接口(interface)的变量?例如:

interface Person {
name: string;
birthday: string;
}
let person: Person = <Person>{};
person.name = "bob";
person.birthday = "19000909";
console.dir(person);
let copyPerson: Person = <Person>{};
copyPerson = person;
copyPerson.name = "Alice";
//then the person's name is also Alice. because the reference of person is passed to copyPerson.

在我更改copyPerson 之后,person 也会更改。我知道我可以将 person 的每个属性分配给 copyPerson,但是有什么方法可以单独复制 person 吗? (顺便说一句,如果是类,我可以new一个对象)

最佳答案

您可以使用 Object.assign :

let copyPerson = Object.assign({}, person);
copyPerson.name = "Alice";

console.log(person); // {name: "bob", birthday: "19000909"}
console.log(copyPerson); // {name: "Alice", birthday: "19000909"}

关于 typescript 接口(interface)变量克隆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836176/

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