Šajā apmācībā jūs uzzināsit par JavaScript izplatīšanas operatoru, izmantojot piemērus.
Izplatīšanas operators ir jauns papildinājums funkcijām, kas pieejamas JavaScript ES6 versijā.
Spread Operator
Izplatīšanas operators …
tiek izmantots, lai paplašinātu vai izplatītu iterējamu vai masīvu. Piemēram,
const arrValue = ('My', 'name', 'is', 'Jack'); console.log(arrValue); // ("My", "name", "is", "Jack") console.log(… arrValue); // My name is Jack
Šajā gadījumā kods:
console.log(… arrValue)
ir ekvivalents:
console.log('My', 'name', 'is', 'Jack');
Kopēt masīvu, izmantojot Spread Operator
Varat arī izmantot izplatīšanas sintaksi, …
lai kopētu vienumus vienā masīvā. Piemēram,
const arr1 = ('one', 'two'); const arr2 = (… arr1, 'three', 'four', 'five'); console.log(arr2); // Output: // ("one", "two", "three", "four", "five")
Klonu masīvs, izmantojot Spread Operator
JavaScript objektus piešķir pēc atsauces, nevis pēc vērtībām. Piemēram,
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)
Šeit abi mainīgie arr1 un arr2 attiecas uz vienu un to pašu masīvu. Tādējādi izmaiņas vienā mainīgajā rada pārmaiņas abos mainīgajos.
Tomēr, ja vēlaties kopēt masīvus tā, lai tie neattiecas uz to pašu masīvu, varat izmantot izplatīšanas operatoru. Tādā veidā viena masīva izmaiņas netiek atspoguļotas otrā. Piemēram,
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)
Izplatiet operatoru ar objektu
Izkliedes operatoru var izmantot arī ar objektu literāliem. Piemēram,
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)
Šeit abas obj1
un obj2
īpašības tiek pievienotas obj3
izplatīšanas operatora izmantošanai.
Atpūtas parametrs
Ja izplatīšanas operatoru izmanto kā parametru, to sauc par pārējo parametru.
Funkcijas izsaukumā varat arī pieņemt vairākus argumentus, izmantojot pārējo parametru. Piemēram,
let func = function(… args) ( console.log(args); ) func(3); // (3) func(4, 5, 6); // (4, 5, 6)
Šeit,
- Kad
func()
funkcijai tiek nodots viens arguments , pārējais parametrs aizņem tikai vienu parametru. - Kad tiek nodoti trīs argumenti, pārējais parametrs ņem visus trīs parametrus.
Piezīme : Pārējā parametra izmantošana nodos argumentus kā masīva elementus.
Varat arī pārsūtīt vairākus argumentus funkcijai, izmantojot izplatīšanas operatoru. Piemēram,
function sum(x, y ,z) ( console.log(x + y + z); ) const num1 = (1, 3, 4, 5); sum(… num1); // 8
Ja jūs nododat vairākus argumentus, izmantojot izplatīšanas operatoru, funkcija ņem nepieciešamos argumentus un pārējos ignorē.
Piezīme : Spread operators tika ieviests ES6 . Dažas pārlūkprogrammas var neatbalstīt izplatītās sintakses izmantošanu. Apmeklējiet JavaScript Spread Operator atbalstu, lai uzzinātu vairāk.