JavaScripti levitamise operaator

Selles õpetuses saate näidete abil õppida JavaScripti levitamise operaatorit.

Levitamisoperaator on uus lisand JavaScripti ES6 versioonis saadaval olevatele funktsioonidele .

Spread Operaator

Leviku operaator kasutatakse laiendada või Sõnnikuga iterable või massiivi. Näiteks,

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

Sel juhul kood:

 console.log(… arrValue)

on samaväärne järgmisega:

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

Kopeeri massiiv Spread Operatoriga

Samuti saate leviku süntaksit kasutada üksuste ühtseks massiiviks kopeerimiseks. Näiteks,

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

Kloonige massiiv Spread Operaatori abil

JavaScripti objektid määratakse viidete, mitte väärtuste järgi. Näiteks,

 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)

Siin viitavad mõlemad muutujad arr1 ja arr2 samale massiivile. Seega põhjustab ühe muutuja muutus mõlema muutuja muutuse.

Kui soovite aga massiive kopeerida nii, et need ei viidaks samale massiivile, võite kasutada hajutamisoperaatorit. Nii ei kajastu ühe massiivi muutus teises. Näiteks,

 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)

Operaatori levitamine objektiga

Hajutusoperaatorit saab kasutada ka objektiliitritega. Näiteks,

 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)

Siin lisatakse hajutusoperaatori kasutamisele mõlemad obj1ja obj2omadused obj3.

Puhke parameeter

Kui levikuoperaatorit kasutatakse parameetrina, tuntakse seda ülejäänud parameetrina.

Ülejäänud parameetri abil saate funktsioonikõnes vastu võtta ka mitu argumenti. Näiteks,

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

Siin,

  • Kui func()funktsioonile edastatakse üks argument , võtab ülejäänud parameeter ainult ühe parameetri.
  • Kui kolm argumenti on edastatud, võtab ülejäänud parameeter kõik kolm parameetrit.

Märkus . Ülejäänud parameetri kasutamine edastab argumendid massiivi elementidena.

Samuti saate hajutamisoperaatori abil funktsioonile edastada mitu argumenti. Näiteks,

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

Kui edastate hajutamisoperaatori abil mitu argumenti, võtab funktsioon nõutavad argumendid ja ignoreerib ülejäänud.

Märkus . Spread operaator võeti kasutusele ES6-s . Mõni brauser ei pruugi levisüntaksit toetada. Lisateabe saamiseks külastage JavaScripti levitamise operaatori tugiteenust.

Huvitavad Artiklid...