()Object.assign در جاوا اسکریپت
![()Object.assign در جاوا اسکریپت](https://reactapp.ir/wp-content/uploads/Object-assig-method-in-javascript.jpg)
![()Object.assign در جاوا اسکریپت](https://reactapp.ir/wp-content/uploads/Object-assig-method-in-javascript.jpg)
کد زیر syntax مربوط به ()Object.assign را نشان می دهد:
1 |
Object.assign(target, ...sources) |
()Object.assign تمام properties های خود را از oject مبدأ به oject هدف کپی می کند و object هدف را برمی گرداند.()Object.assign در object مبدا getter و در object هدف setter را فراخوانی می کند.این method فقط properties ها را اختصاص می دهد و هیچ properties جدیدی تعریف نمی کند.
استفاده از ()Object.assign برای clone کردن یک object
مثال زیر نحوه استفاده از ()Object.assign برای clone کردن یک object در جاوا اسکریپت را نشان می دهد:
1 2 3 4 5 6 7 |
let widget = { color: 'red' }; let clonedWidget = Object.assign({}, widget); console.log(clonedWidget); |
خروجی:
1 |
{ color: 'red' } |
استفاده از ()Object.assign برای ادغام کردن دو object
()Object.assign می تواند object های منبع( source objects ) را در یک object هدف(target object) ادغام کند که دارای properties های متشکل از تمام properties های object های منبع( source objects ) است. مثلا:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
let box = { height: 10, width: 20 }; let style = { color: 'Red', borderStyle: 'solid' }; let styleBox = Object.assign({}, box, style); console.log(styleBox); |
خروجی:
1 2 3 4 5 6 |
{ height: 10, width: 20, color: 'Red', borderStyle: 'solid' } |
اگر object های منبع( source objects ) دارای property های یکسان باشند،property آخرین object در واقع object قبلی را بازنویسی (overwrites ) می کند:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
let box = { height: 10, width: 20, color: 'Red' }; let style = { color: 'Blue', borderStyle: 'solid' }; let styleBox = Object.assign({}, box, style); console.log(styleBox); |
خروجی:
1 2 3 4 5 6 |
{ height: 10, width: 20, color: 'Blue', borderStyle: 'solid' } |
دیدگاهتان را بنویسید