عملگر Spread در جاوا اسکریپت

در این آموزش درمورد عملگر spread جاوا اسکریپت که عناصر یک آرایه یا رشته را پراکنده می کند، می آموزید.

ES6 عملگری جدید به نام عملگر spread تهیه کرده که شامل سه نقطه  (…)است. عملگر spread به شما اجازه می دهد تا عناصر یک آرایه یا رشته را پراکنده کنید.

بیایید نگاهی به دستورالعمل هایی که مفید بودن عملگرهای  spread را نشان می دهد بیانداریم.

عملگر spread جاوا اسکریپت و متد apply()

ببینید تابع compare() زیر دو عدد را مقایسه کرده است:

function compare(a, b) {
    return a - b;
}

در ES5 برای انتقال آرایه دو عدد به تابع compare() معمولا از متد apply() بصورت زیر استفاده می شود:

var result = compare.apply(null, [1, 2]);
console.log(result); // -1

اما با استفاده از عملگر spread می توانید یک آرایه از دو عدد را به تابع compare() انتقال دهید:

let result = compare(...[1, 2]);
console.log(result); // -1

عملگر spread عناصر آرایه را پخش می کند، بنابراین در این مورد a=1 و b=2 است.

روشی بهتر برای استفاده از مثال متد push()

گاهی اوقات یک تابع ممکن است یک عدد بی نهایت از نشانگرها را بپذیرد. نشانگرهای پر شده از یک آرایه مناسب نیستند.

به عنوان مثال، متد push() از یک شی آرایه به شما اجازه می دهد یک یا چند عنصر به آرایه اضافه کنید. اگر بخواهید یک آرایه را به متد push() انتقال دهید، نیاز به استفاده از متد apply() بصورت زیر دارید:

var rivers = ['Nile', 'Ganges', 'Yangte'];
var moreRivers = ['Danube', 'Amazon'];
 
Array.prototype.push.apply(rivers, moreRivers);
console.log(rivers);

این راه حل طولانی است.

ببینیم عملگر spread چگونه این کد را بهبود می بخشد.

rivers.push(...moreRivers);

همانطور که دیدید با استفاده از عملگر spread کار مرتب تر است.

عملگر spread جاوا اسکریپت و دستکاری آرایه

ساخت آرایه لفظی

عملگر spread جاوا اسکریپت به شما اجازه می دهد تا بااستفاده از فرم لفظی هنگام ایجاد یک آرایه، یک آرایه دیگر را وارد آرایه ارزش گذاری شده کنید.

مثال زیر را مشاهده کنید:

let initialChars = ['A', 'B'];
let chars = [...initialChars, 'C', 'D'];
console.log(chars); // ["A", "B", "C", "D"]

ساخت آرایه ها

همچنین می توانید برای ایجاد دو یا چند آرایه از عملگر spread استفاده کنید:

let numbers = [1, 2];
let moreNumbers = [3, 4];
let allNumbers = [...numbers, ...moreNumbers];
console.log(allNumbers); // [1, 2, 3, 4]

کپی کردن یک آرایه

به علاوه، می توانید با استفاده از عملگر spread نمونه یک آرایه را کپی کنید:

let scores = [80, 70, 90];
let copiedScores = [...scores];
console.log(copiedScores); // [80, 70, 90]

توجه داشته باشید که عملگر spread فقط خود آرایه را در یک آرایه جدید کپی می کند، نه عناصر آن را. به این معنی که کپی فقط سطحی صورت می گیرد.

عملگر spread جاوا اسکریپت و رشته ها

به مثال زیر توجه کنید:

let chars = ['A', ...'BC', 'D'];
console.log(chars); // ["A", "B", "C", "D"]

در این مثال، آرایه chars  را از رشته های مجزا ایجاد کردیم. وقتی عملگر spread را در رشته «BC» بکار می بریم، هر کاراکتر مجزای رشته «BC» را در به کاراکتری خاص پخش می کند.

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 4٫00 out of 5)
Loading...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

counter customizable free hit