我知道typescript中的interface是一种类型,所以如果我定义了一个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
,请在此处阅读更多内容:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Description - Nitzan Tomer