Middle
Kokiais metodais ar įrankiais galite kopijuoti objektą JavaScript'e?
sobes.tech AI
Atsakymas iš AI
-
** paviršinis kopijavimas:**
- Sklaidos operatorius (
...) Object.assign()
const original = { a: 1, b: { c: 2 } }; // Sklaida const copySpread = { ...original }; console.log(copySpread); // { a: 1, b: { c: 2 } } // Object.assign const copyAssign = Object.assign({}, original); console.log(copyAssign); // { a: 1, b: { c: 2 } } - Sklaidos operatorius (
-
Gilus kopijavimas:
JSON.parse(JSON.stringify(obj))(apribojimai: neveikia su funkcijomis, undefined, Symbol, BigInt, ciklinėmis nuorodomis)- Struktūrinis klonavimas (
structuredClone())
const original = { a: 1, b: { c: 2 }, d: function() {} }; // JSON.parse(JSON.stringify()) const copyJson = JSON.parse(JSON.stringify(original)); console.log(copyJson); // { a: 1, b: { c: 2 } } // structuredClone const copyStructured = structuredClone(original); console.log(copyStructured); // { a: 1, b: { c: 2 }, d: function() {} }