Deo zbornika Napredni Javaskript

Tri tačke u Javascriptu

Tri tačke u Javascriptu (...) mogu biti operator razdvajanja (spread) ili parametar ostatka (rest).

Operator razdvajanja razdvaja jednu složenu strukturu u više činilaca. Parametar ostatka spaja zasebne argumente funkcije u niz.

Operator razdvajanja (spread)

Operator razdvajanja značajno olakšava rad sa nizovima u JavaScriptu. Ranije, da bismo kreirali niz od drugog niza, morali smo koristiti metode push, splice i concat. Sa operatorom za razdvajanje možemo razdvojiti niz na sastavne delove i njegove članove staviti u novi niz:

var radniDani = ['ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak']
var vikend = ['subota', 'nedelja']
var sedmica = [...radniDani, ...vikend]
console.log(sedmica)

Takođe, pomoću operatora za razdvajanje možemo proslediti članove niza funkciji, koja ih prima zasebno:

const brojevi = [2, 3, 7]

function saberi(a, b, c) {
  return a + b + c
}

console.log(saberi(...brojevi))

Operator razdvajanja se takođe može koristiti za kopiranje i kombinovanje objekta:

const original = { a: 1, b: 2 }
const kopija = { ...original, c: 3 }  // { a: 1, b: 2, c: 3 }

Parametar ostatka (rest)

Parametar ostatka omogućuje da funkciji prosledimo proizvo­ljan broj parametara, a da ih ona primi u vidu niza. Stavljanjem tri tačke (...) pre parametra označavamo para­metar ostatka:

function saberi(...brojevi) {
  return brojevi.reduce((ukupno, n) => ukupno + n)
}

console.log(saberi(2, 3, 7, 6, 5, 9))

Ako funkcija prima više parametara, parametar ostatka mora biti poslednji.

Literatura