اپراتورهای spread و rest
با قسمتی دیگر از مرور ویژگی های جدید ES6 در خدمت شما هستیم. در این قسمت اپراتورهای spread (به معنی «گسترش دادن» یا «پهن کردن») و rest (به معنی «استراحت کردن) را بررسی می کنیم که هر دو یک شکل دارند: علامت سه نقطه «…»!
بله شکل این اپراتورها کمی عجیب است و بسته به نحوه استفاده از آن نام های spread یا rest را می گیرد.
اپراتور spread
زمانی که spread را مد نظر داشته باشیم یعنی می خواهیم اعضای یک آرایه یا خصوصیات یک شیء را از هم جدا کنیم. مثلا فرض کنید یک آرایه قدیمی داشته باشیم و بخواهیم اعضای این آرایه قدیمی را به یک آرایه دیگر منتقل کنیم و چند عضو دیگر نیز به آرایه جدید اضافه کنیم می توانیم بگوییم:
1 2 3 4 |
const oldArray= [1,2,3,4]; const newArray = […oldArray, 5, 6]; console.log(newArray); /* 1,2,3,4,5,6 */ |
این سه نقطه تمام اعضای آرایه oldArray را از هم جدا کرده و به عنوان اعضای جدید داخل آرایه newArray می ریزد.
اگر بخواهیم این کار را برای خصوصیات (propery) یک شیء انجام دهیم می گوییم:
1 2 3 4 5 6 7 |
const oldObject = {name:"amir javanmir"} const newObject = {…oldObject, newProp: 5} console.log(newObject); /* name:"amir javanmir", newProp: 5 */ |