我想弄清楚爲什麼當其中一個元素是HTML元素時,我無法合併2個或更多對象。將HTML元素對象與自定義對象合併
編輯:
爲什麼當我與像obj1
和obj2
我從公共屬性OBJ 2得到的值,但Object.assign
2「正常」的對象合併時,我做同樣的root
這是一個HTML元素我不「T獲得其值(例如id
屬性的值)
const root = document.getElementById("root");
const obj1 = { id: "obj1", textContent: "i am obj1" };
const obj2 = { id: "obj2", textContent: "i am obj2"};
const merged1 = Object.assign({}, obj1, obj2); // the new object got the id and textContent from obj2
const merged2 = Object.assign({}, obj1, root); // the new object got the id and textContent from obj1. why not from root?
console.log(merged1);
console.log(merged2);
console.log(root.id);
console.log(root.textContent);
<div id="root">i am root</div>
你期待' 「我是OBJ1」'和' 「我是obj2的」'要連接? – guest271314
nope,我希望得到一個新的對象,而'id'和'textContent'屬性將從'root'對象獲取它們的值作爲它傳遞給'Object.assign'的最後一個參數。 –