⊗jsPmROInr 294 of 505 menu

rest ოპერატორი JavaScript-ში

ამ გაკვეთილს დავიწყებთ გარკვეული განმარტებით. ამ თავის ყველა წინა გაკვეთილში მე არ მითხარით მთელი სიმართლე ... ოპერატორზე.

სინამდვილეში ეს ოპერატორი, კოდში მდებარეობიდან გამომდინარე, შეიძლება ეწოდებოდეს ან 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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა