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