⊗jsPmROInr 294 of 505 menu

JavaScript-тегі rest операторы

Бұл сабақты бір түсініктемеден бастаймыз. Бұл бөлімнің алдыңғы барлық сабақтарында мен сізге ... операторының барлық шындығын айтпадым.

Шын мәнінде, бұл оператор кодтағы орнына байланысты не spread операторы, не rest операторы деп аталады.

Сіз білетіндей, spread операторы массивтің немесе жолдың алдында тұрғанда, ол оларды жеке мәндерге бөледі. Rest операторы, ... түрінде бірдей синтаксиске ие болса да, басқа мақсатқа арналған.

Енді оның не үшін екенін анықтайық. Бізде екі параметр қабылдайтын функция болсын:

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

Сіз білуіңіз керек, егер функцияға артық параметрлер берілсе, бұл қатеге әкелмейді:

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

Rest операторы барлық артық параметрлерді массив түрінде алуға мүмкіндік береді. Ол үшін функцияға тағы бір параметр қосылады (міндетті түрде соңғы), оның алдына 3 нүкте қойылады:

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

Бұл үш нүкте - rest операторы, ал айнымалының аты кез келген атауға ие болуы мүмкін, бірақ әдетте оны да rest деп атауға болады.

Функциямызды артық саны бар параметрлермен шақырып, a және b параметрлеріне не келетінін, ал не - rest қалдығына не келетінін көрейік:

func(1, 2, 3, 4, 5); function func(a, b, ...rest) { console.log(a); // 1 шығарады console.log(b); // 2 шығарады console.log(rest); // [3, 4, 5] шығарады }

Егер артық параметрлер болмаса, онда айнымалыға rest бос массив түрінде жазылады:

func(1, 2); function func(a, b, ...rest) { console.log(a); // 1 шығарады console.log(b); // 2 шығарады console.log(rest); // [] шығарады }

Функцияда жалпы параметрлер болмауы мүмкін, бірақ соған қарамастан оған rest қосуға болады. Бұл жағдайда функцияны кез келген параметр санымен шақыруға болады және олардың барлығы rest массивіне енеді:

function func(...rest) { console.log(rest); }
Қазақ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау