Sobes.tech
Middle
109
questionbank

С помощью каких методов или инструментов вы можете скопировать объект в JavaScript?

Ответ от нейросети

sobes.tech AI

  • Поверхностное копирование:

    • Оператор Spread (...)
    • Object.assign()
    const original = { a: 1, b: { c: 2 } };
    
    // Spread
    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 } }
    
  • Глубокое копирование:

    • JSON.parse(JSON.stringify(obj)) (ограничения: не работает с функциями, undefined, Symbol, BigInt, циклическими ссылками)
    • Структурное клонирование (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() {} }