Sobes.tech
Middle

Кадом усулҳои клонкунии объектҳоро медонӣ?

sobes.tech AI

Ҷавоб аз AI

Роҳҳои зиёде барои клон кардани объектҳо дар JavaScript вуҷуд дорад:

  1. Копияи сатҳӣ (shallow copy) — танҳо сатҳи болоии хусусиятҳоро нусхабардорӣ мекунад, объектҳои дарунсохт ҳамчун истинод мемонанд.

    • Истифодаи Object.assign():
      const clone = Object.assign({}, original);
      
    • Оператор паҳнкунӣ:
      const clone = {...original};
      
  2. Копияи амиқ (deep copy) — нусхаи пурраи объект бо ҳамаи объектҳои дарунсохтро месозад.

    • Сериялизатсия ва десериализатсия тавассути JSON (фақат бо объектҳои оддӣ, бе функсияҳо, санаҳо ва ғайра кор мекунад):
      const deepClone = JSON.parse(JSON.stringify(original));
      
    • Истифодаи китобхонаҳои махсус, масалан lodash:
      const _ = require('lodash');
      const deepClone = _.cloneDeep(original);
      
  3. Иҷрои методи клонкунии худ — агар объект дорои методҳо ё намудҳои мураккаб бошад, метавон як метод clone() дар дохили синф иҷро кард.

Интихоби усул аз сохтори объект ва талаботи нусхабардорӣ вобаста аст. Барои объектҳои оддӣ, нусхаи сатҳӣ кофист, барои мураккабтар — нусхаи амиқ.