⊗jsPmROInr 294 of 505 menu

JavaScript-də rest operatoru

Bu dərsi bir açıqlama ilə başlayaq. Bu bölmənin bütün əvvəlki dərslərində mən sizə ... operatoru haqqında bütün həqiqəti deyərmədim.

Əslində bu operator kodda yerləşdiyi yerdən asılı olaraq ya spread operatoru, ya da rest operatoru adlana bilər.

Artıq bildiyiniz kimi, spread operatoru massiv və ya sətirin qarşısında duranda, onları ayrı-ayrı dəyərlərə ayırır. Rest operatoru, baxmayaraq ki, ... şəklində eyni sintaksisə malikdir, amma başqa məqsəd üçün nəzərdə tutulub.

İndi onun nə üçün olduğunu anlayaq. Tutaq ki, bizim iki parametr qəbul edən funksiyamız var:

function func(a, b) { console.log(a); console.log(b); }

Artıq bilməlisiniz ki, əgər funksiyaya artıq parametrlər ötürülərsə, bu xətaya səbəb olmaz:

func(1, 2, 3, 4, 5);

Rest operatoru bütün artıq parametrləri massiv şəklində əldə etməyə imkan verir. Bunun üçün funksiyaya bir parametr daha əlavə olunur (mütləq sonuncu olaraq), onun qarşısında 3 nöqtə yazılır:

function func(a, b, ...rest) { }

Bu üç nöqtə rest operatorudur və dəyişənin adı istənilən ola bilər, amma adətən onu rest adlandırırlar.

Gəlin funksiyamızı artıq miqdarda parametrlə çağıraq və görək nəyin ab parametrlərinə, nəyin isə rest qalığına düşdüyünə baxaq:

func(1, 2, 3, 4, 5); function func(a, b, ...rest) { console.log(a); // 1 çap edəcək console.log(b); // 2 çap edəcək console.log(rest); // [3, 4, 5] çap edəcək }

Əgər artıq parametr olmasa, onda dəyişən rest boş massivlə doldurular:

func(1, 2); function func(a, b, ...rest) { console.log(a); // 1 çap edəcək console.log(b); // 2 çap edəcək console.log(rest); // [] çap edəcək }

Funksiyada ümumiyyətlə parametr olmaya da bilər, amma eyni zamanda ona rest əlavə etmək olar. Bu halda funksiyanı istənilən sayda parametrlə çağırmaq olar və onların hamısı rest massivinə düşəcək:

function func(...rest) { console.log(rest); }
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et