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 obj1
a .obj2
obj3
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.