V tomto výučbe sa pomocou príkladov dozviete o operátore šírenia kódu JavaScript.
Operátor šírenia je nový prírastok k funkciám dostupným vo verzii JavaScript ES6 .
Operátor šírenia
Operátor šírenia … sa používa na rozšírenie alebo rozšírenie iterovateľného súboru alebo poľa. Napríklad,
const arrValue = ('My', 'name', 'is', 'Jack'); console.log(arrValue); // ("My", "name", "is", "Jack") console.log(… arrValue); // My name is Jack
V tomto prípade kód:
console.log(… arrValue)
je ekvivalentné s:
console.log('My', 'name', 'is', 'Jack');
Kopírujte pole pomocou operátora šírenia
Môžete tiež použiť syntax rozloženia … na skopírovanie položiek do jedného poľa. Napríklad,
const arr1 = ('one', 'two'); const arr2 = (… arr1, 'three', 'four', 'five'); console.log(arr2); // Output: // ("one", "two", "three", "four", "five")
Klonujte pole pomocou operátora šírenia
V JavaScripte sú objekty priradené odkazom, nie hodnotami. Napríklad,
let arr1 = ( 1, 2, 3); let arr2 = arr1; console.log(arr1); // (1, 2, 3) console.log(arr2); // (1, 2, 3) // append an item to the array arr1.push(4); console.log(arr1); // (1, 2, 3, 4) console.log(arr2); // (1, 2, 3, 4)
Tu obidve premenné arr1 a arr2 odkazujú na rovnaké pole. Preto zmena jednej premennej vedie k zmene oboch premenných.
Ak však chcete kopírovať polia tak, aby neodkazovali na rovnaké pole, môžete použiť operátor šírenia. Týmto spôsobom sa zmena v jednom poli neprejaví v druhom. Napríklad,
let arr1 = ( 1, 2, 3); // copy using spread syntax let arr2 = (… arr1); console.log(arr1); // (1, 2, 3) console.log(arr2); // (1, 2, 3) // append an item to the array arr1.push(4); console.log(arr1); // (1, 2, 3, 4) console.log(arr2); // (1, 2, 3)
Operátor šírenia s objektom
Operátor šírenia môžete použiť aj s literálmi objektov. Napríklad,
const obj1 = ( x : 1, y : 2 ); const obj2 = ( z : 3 ); // add members obj1 and obj2 to obj3 const obj3 = (… obj1,… obj2); console.log(obj3); // (x: 1, y: 2, z: 3)
Tu sa do operátora šírenia pridávajú vlastnosti aj obj1a .obj2obj3
Zvyšok Parameter
Keď sa ako parameter použije operátor šírenia, je známy ako zvyšok.
Môžete tiež prijať viac argumentov volanie funkcie pomocou parametra rest. Napríklad,
let func = function(… args) ( console.log(args); ) func(3); // (3) func(4, 5, 6); // (4, 5, 6)
Tu,
- Keď je
func()funkcii odovzdaný jeden argument , zvyšok má iba jeden parameter. - Keď sú zadané tri argumenty, parameter zvyšok vezme všetky tri parametre.
Poznámka : Použitím parametra rest sa argumenty odovzdajú ako prvky poľa.
Funkcii pomocou operátora šírenia môžete tiež odovzdať viac argumentov. Napríklad,
function sum(x, y ,z) ( console.log(x + y + z); ) const num1 = (1, 3, 4, 5); sum(… num1); // 8
Ak pomocou operátora šírenia zadáte viac argumentov, funkcia prevezme požadované argumenty a ostatné ignoruje.
Poznámka : Operátor šírenia bol predstavený v ES6 . Niektoré prehliadače nemusia podporovať použitie syntaxe rozšírenia. Navštívte podporu operátora rozšírenia JavaScriptu a dozviete sa viac.








