Operátor šíření JavaScriptu

V tomto kurzu se na příkladech dozvíte o operátoru šíření JavaScriptu.

Operátor šíření je novým přírůstkem k funkcím dostupným ve verzi JavaScript ES6 .

Operátor šíření

Operátor šíření se používá k rozšíření nebo šíření iterovatelného pole nebo pole. Například,

 const arrValue = ('My', 'name', 'is', 'Jack'); console.log(arrValue); // ("My", "name", "is", "Jack") console.log(… arrValue); // My name is Jack

V tomto případě kód:

 console.log(… arrValue)

odpovídá:

 console.log('My', 'name', 'is', 'Jack');

Zkopírujte pole pomocí operátoru šíření

Syntaxi šíření můžete také použít ke zkopírování položek do jednoho pole. Například,

 const arr1 = ('one', 'two'); const arr2 = (… arr1, 'three', 'four', 'five'); console.log(arr2); // Output: // ("one", "two", "three", "four", "five")

Clone Array pomocí Spread Operator

V JavaScriptu jsou objekty přiřazovány odkazem, nikoli hodnotami. Napří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)

Zde obě proměnné arr1 a arr2 odkazují na stejné pole. Proto změna v jedné proměnné vede ke změně v obou proměnných.

Pokud však chcete kopírovat pole tak, aby neodkazovala na stejné pole, můžete použít operátor šíření. Tímto způsobem se změna v jednom poli neprojeví v druhém. Napří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 šíření s objektem

Operátor šíření můžete také použít s literály objektů. Napří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)

Zde se vlastnosti obj1a i obj2vlastnosti přidávají k obj3použití operátoru šíření.

Klidový parametr

Když je operátor šíření použit jako parametr, je znám jako zbytek.

Můžete také přijmout více argumentů ve volání funkce pomocí parametru rest. Například,

 let func = function(… args) ( console.log(args); ) func(3); // (3) func(4, 5, 6); // (4, 5, 6)

Tady,

  • Když je funkci předán jeden argument func(), parametr rest trvá pouze jeden parametr.
  • Když jsou předány tři argumenty, zbytek má všechny tři parametry.

Poznámka : Použití parametru rest předá argumenty jako prvky pole.

Funkci můžete také předat více argumentů pomocí operátoru šíření. Například,

 function sum(x, y ,z) ( console.log(x + y + z); ) const num1 = (1, 3, 4, 5); sum(… num1); // 8

Pokud předáte více argumentů pomocí operátoru šíření, funkce vezme požadované argumenty a zbytek ignoruje.

Poznámka : Operátor Spread byl představen v ES6 . Některé prohlížeče nemusí podporovat použití syntaxe šíření. Navštivte podporu operátora šíření JavaScriptu a dozvíte se více.

Zajímavé články...