1
在我的代码中。我有这样的界面。Typescript Interface Assignment
interface MyFlag {
flag1: boolean,
flag2: boolean
}
我的代码我这样做。
let myFlag: MyFlag = {"flag1":true, "flag2": true};
let dummy = myFlag;
console.log("dummy: " + JSON.stringify(dummy));
myFlag = {"flag1": false, "flag2": false};
console.log("dummy2 : " + JSON.stringify(dummy));
这里是我的日志结果:
dummy: {"flag1":true, "flag2": true};
dummy2 : {"flag1":false, "flag2": false};
什么我不明白的是怎么来的“虚拟”正在发生变化值当我改变myFlag。
我的问题是:“有没有办法让‘假’的逗留以前分配的值。我的猜测是,这是因为它是一个接口。
帮助表示赞赏。
干杯和问候,
SD
'dummy'只是另一个参考指向相同的对象'myFlag'。它与接口无关。 –
当您分配dummy = myFlag时,它们都引用相同的对象。因此,对于同一个对象,您有一个具有两个引用变量的对象。您需要复制myFlag – jmw5598
这里是一篇关于克隆打字稿中对象的文章https://stackoverflow.com/questions/28150967/typescript-cloning-object – jmw5598