Middle
Кадом усулҳои клонкунии объектҳоро медонӣ?
sobes.tech AI
Ҷавоб аз AI
Роҳҳои зиёде барои клон кардани объектҳо дар JavaScript вуҷуд дорад:
-
Копияи сатҳӣ (shallow copy) — танҳо сатҳи болоии хусусиятҳоро нусхабардорӣ мекунад, объектҳои дарунсохт ҳамчун истинод мемонанд.
- Истифодаи
Object.assign():const clone = Object.assign({}, original); - Оператор паҳнкунӣ:
const clone = {...original};
- Истифодаи
-
Копияи амиқ (deep copy) — нусхаи пурраи объект бо ҳамаи объектҳои дарунсохтро месозад.
- Сериялизатсия ва десериализатсия тавассути JSON (фақат бо объектҳои оддӣ, бе функсияҳо, санаҳо ва ғайра кор мекунад):
const deepClone = JSON.parse(JSON.stringify(original)); - Истифодаи китобхонаҳои махсус, масалан
lodash:const _ = require('lodash'); const deepClone = _.cloneDeep(original);
- Сериялизатсия ва десериализатсия тавассути JSON (фақат бо объектҳои оддӣ, бе функсияҳо, санаҳо ва ғайра кор мекунад):
-
Иҷрои методи клонкунии худ — агар объект дорои методҳо ё намудҳои мураккаб бошад, метавон як метод
clone()дар дохили синф иҷро кард.
Интихоби усул аз сохтори объект ва талаботи нусхабардорӣ вобаста аст. Барои объектҳои оддӣ, нусхаи сатҳӣ кофист, барои мураккабтар — нусхаи амиқ.