Operater za širjenje JavaScript

V tej vadnici boste s pomočjo primerov izvedeli več o operaterju širjenja JavaScript.

Operater širjenja je nov dodatek k funkcijam, ki so na voljo v različici JavaScript ES6 .

Spread Operator

Operator širjenja se uporablja za razširitev ali širjenje iterabila ali polja. Na primer

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

V tem primeru koda:

 console.log(… arrValue)

je enakovredno:

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

Kopiraj polje s pomočjo Spread Operatorja

Sintakso širjenja lahko uporabite tudi za kopiranje elementov v eno matriko. Na primer

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

Kloniraj polje z uporabo Spread Operatorja

V JavaScript so predmeti dodeljeni s sklicem in ne z vrednostmi. Na primer

 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 se obe spremenljivki arr1 in arr2 nanašata na isto matriko. Zato sprememba ene spremenljivke povzroči spremembo obeh spremenljivk.

Če pa želite kopirati polja tako, da se ne nanašajo na isto matriko, lahko uporabite operator širjenja. Tako se sprememba enega polja ne odraža v drugem. Na primer

 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)

Spread Operator z objektom

Operator širjenja lahko uporabite tudi z objektnimi literali. Na primer

 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 sta obe obj1in obj2lastnosti dodani obj3uporabi operatorja širjenja.

Parameter počitka

Ko se operater širjenja uporablja kot parameter, je znan kot preostali parameter.

S parametrom rest lahko sprejmete tudi več argumentov v klicu funkcije. Na primer

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

Tukaj,

  • Ko se func()funkciji posreduje en argument , ostane parameter preostanek samo en parameter.
  • Ko so posredovani trije argumenti, parameter preostali vzame vse tri parametre.

Opomba : Uporaba parametra rest bo argumente posredovala kot elemente matrike.

Funkciji lahko posredujete tudi več argumentov z operaterjem širjenja. Na primer

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

Če z operaterjem širjenja posredujete več argumentov, funkcija vzame zahtevane argumente, ostale pa prezre.

Opomba : Operator širjenja je bil uveden v ES6 . Nekateri brskalniki morda ne podpirajo uporabe sintakse širjenja. Za več informacij obiščite podporo za operaterja Spread JavaScript.

Zanimive Članki...