Rest operateur in JavaScript
Ons sal hierdie les begin met 'n sekere verduideliking.
Al die vorige lesse in hierdie afdeling het ek nie
die hele waarheid oor die ... operateur aan julle gesê nie.
Eintlik kan hierdie operateur, afhangende van die plek in die kode, óf die spread operateur, óf die rest operateur genoem word.
Soos jy reeds weet, wanneer die spread operateur
voor 'n array of string staan, verdeel dit dit
in afsonderlike waardes. Die rest operateur,
alhoewel dit dieselfde sintaksis het in die vorm van ...,
is vir iets anders bedoel.
Kom ons kyk nou waarvoor. Laat ons aanneem ons het 'n funksie wat twee parameters aanvaar:
function func(a, b) {
console.log(a);
console.log(b);
}
Jy moet reeds weet dat as ekstra parameters aan die funksie oorgedra word, sal dit nie tot 'n fout lei nie:
func(1, 2, 3, 4, 5);
Die rest operateur laat toe om al die
oortollige parameters as 'n array te verkry. Vir hierdie
word nog 'n parameter by die funksie gevoeg (verpligtend
laaste), waarvoor 3 kolle geskryf word:
function func(a, b, ...rest) {
}
Hierdie drie kolle is presies die rest operateur, en die naam
van die veranderlike kan enige naam hê, maar
word gewoonlik ook rest genoem.
Kom ons roep ons funksie met 'n oortollige
aantal parameters en kyk wat beland
in die parameters a en b, en wat -
in die res rest:
func(1, 2, 3, 4, 5);
function func(a, b, ...rest) {
console.log(a); // sal 1 wys
console.log(b); // sal 2 wys
console.log(rest); // sal [3, 4, 5] wys
}
As daar geen ekstra parameters is nie, sal 'n leë array
in die veranderlike rest geskryf word:
func(1, 2);
function func(a, b, ...rest) {
console.log(a); // sal 1 wys
console.log(b); // sal 2 wys
console.log(rest); // sal [] wys
}
Die funksie kan glad geen parameters hê nie,
maar tog kan rest daaraan toegevoeg word.
In hierdie geval kan die funksie geroep word
met enige aantal parameters en almal
sal in die array rest beland:
function func(...rest) {
console.log(rest);
}