Junior
Spread və rest operatorları arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Yayılma operatoru (...) təkrarlana bilən obyektləri (massivlər, sətirlər) ayrı-ayrı elementlərə genişləndirir və çox vaxt massivlərin surətini çıxarmaq, obyektləri birləşdirmək və ya funksiyalara arqumentlər ötürmək üçün istifadə olunur. Qalan elementləri bir arrayda toplayan operator (...) destrukturizasiya zamanı və ya funksiyaların tərifində arqumentləri toplamaq üçün istifadə olunur.
Yayılma istifadə nümunələri:
// Arrayin surətini çıxarmaq
const arr1 = [1, 2, 3];
const arr2 = [...arr1]; // arr2 = [1, 2, 3]
// Arrayləri birləşdirmək
const arr3 = [4, 5];
const combined = [...arr1, ...arr3]; // combined = [1, 2, 3, 4, 5]
// Funksiyaya arqument ötürmək
function sum(a, b, c) {
return a + b + c;
}
const numbers = [1, 2, 3];
const result = sum(...numbers); // result = 6
Qalan elementləri toplamaq nümunələri:
// Array destrukturizasiyasında qalan elementləri toplamaq
const [first, ...restOfArray] = [1, 2, 3, 4]; // first = 1, restOfArray = [2, 3, 4]
// Funksiyada arqumentləri toplamaq
function logArguments(arg1, ...restArgs) {
console.log(arg1); // ilk arqument
console.log(restArgs); // qalan arqumentlərin arrayi
}
logArguments(1, 2, 3, 4); // 1 və [2, 3, 4] göstərəcək
Əsas fərq onların məqsədindədir: yayılma genişləndirir, qalanlar toplayır.