Olioiden Purkaminen Siistimpään Koodiin
Oliodestrukturointi on ominaisuus, jonka avulla voidaan poimia tiettyjä ominaisuuksia oliosta ja asettaa ne muuttujille. Tämä voi johtaa tiiviimpään ja helpommin luettavaan koodiin, erityisesti työskenneltäessä olioiden kanssa, joilla on useita ominaisuuksia.
Oliodestrukturoinnin ymmärtäminen
Oliodestrukturointi on tapa purkaa arvoja olioista erillisiksi muuttujiksi. Destrukturointi käyttää syntaksia, joka muistuttaa oliolitteraaleja, mutta sijoituksen vasemmalla puolella.
Tässä on oliodestrukturoinnin perussyntaksi:
const { property1, property2, ...} = sourceObject;
property1,property2: muuttujien nimet, joihin olion arvot tallennetaan;sourceObject: olio, josta ominaisuuksia poimitaan;- Järjestyksellä ei ole väliä: ominaisuudet yhdistetään nimen perusteella.
Oliodestrukturointi käytännössä
12345678910const person = { fullName: "Amerigo Vespucci", nationality: "Italian", occupation: "Explorer, Cartographer", }; const { fullName, nationality, occupation } = person; console.log(fullName); // Output: Amerigo Vespucci console.log(nationality); // Output: Italian console.log(occupation); // Output: Explorer, Cartographer
Nyt fullName, nationality ja occupation ovat itsenäisiä muuttujia, jotka sisältävät vastaavat arvonsa.
Oletusarvojen määrittäminen
Jos objektista puuttuu ominaisuus, voidaan sille asettaa oletusarvo:
123456789const person = { fullName: "Amerigo Vespucci", nationality: "Italian", }; const { fullName, nationality, birthDate = "March 9, 1454" } = person; console.log(fullName); // Output: Amerigo Vespucci console.log(nationality); // Output: Italian console.log(birthDate); // Output: March 9, 1454
Jos birthDate puuttuu, käytetään oletusarvoa.
Muuttujien uudelleennimeäminen
Poimitut muuttujat voidaan nimetä uudelleen käyttämällä :-syntaksia.
1234567891011const weather = { city: "Melbourne", minTemperature: 65, maxTemperature: 78, }; const { city, minTemperature: min, maxTemperature: max } = weather; console.log(city); // Output: Melbourne console.log(min); // Output: 65 console.log(max); // Output: 78
Tämä on hyödyllistä, kun lyhyemmät nimet parantavat luettavuutta tai kun halutaan välttää nimikonflikteja.
Sisäkkäisten olioiden purku
Voit myös purkaa ominaisuuksia sisäkkäisistä olioista.
123456789101112131415161718192021const person = { name: "Dean Mayert", profession: "Neuropsychologist", education: { degree: "Ph.D. in Neuropsychology", university: "Mind Institute", graduationYear: 2008, }, }; const { name, profession, education: { degree, university, graduationYear }, } = person; console.log(name); // Output: Dean Mayert console.log(profession); // Output: Neuropsychologist console.log(degree); // Output: Ph.D. in Neuropsychology console.log(university); // Output: Mind Institute console.log(graduationYear); // Output: 2008
Voit poimia sekä ylimmän tason että syvälle sisäkkäin olevia arvoja yhdellä selkeällä lausekkeella.
1. Mitä seuraava koodi tekee?
2. Miten voimme asettaa oletusarvot muuttujille olion purkamisessa?
3. Miten voimme nimetä muuttujat uudelleen olion purkamisessa?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 2.27
Olioiden Purkaminen Siistimpään Koodiin
Pyyhkäise näyttääksesi valikon
Oliodestrukturointi on ominaisuus, jonka avulla voidaan poimia tiettyjä ominaisuuksia oliosta ja asettaa ne muuttujille. Tämä voi johtaa tiiviimpään ja helpommin luettavaan koodiin, erityisesti työskenneltäessä olioiden kanssa, joilla on useita ominaisuuksia.
Oliodestrukturoinnin ymmärtäminen
Oliodestrukturointi on tapa purkaa arvoja olioista erillisiksi muuttujiksi. Destrukturointi käyttää syntaksia, joka muistuttaa oliolitteraaleja, mutta sijoituksen vasemmalla puolella.
Tässä on oliodestrukturoinnin perussyntaksi:
const { property1, property2, ...} = sourceObject;
property1,property2: muuttujien nimet, joihin olion arvot tallennetaan;sourceObject: olio, josta ominaisuuksia poimitaan;- Järjestyksellä ei ole väliä: ominaisuudet yhdistetään nimen perusteella.
Oliodestrukturointi käytännössä
12345678910const person = { fullName: "Amerigo Vespucci", nationality: "Italian", occupation: "Explorer, Cartographer", }; const { fullName, nationality, occupation } = person; console.log(fullName); // Output: Amerigo Vespucci console.log(nationality); // Output: Italian console.log(occupation); // Output: Explorer, Cartographer
Nyt fullName, nationality ja occupation ovat itsenäisiä muuttujia, jotka sisältävät vastaavat arvonsa.
Oletusarvojen määrittäminen
Jos objektista puuttuu ominaisuus, voidaan sille asettaa oletusarvo:
123456789const person = { fullName: "Amerigo Vespucci", nationality: "Italian", }; const { fullName, nationality, birthDate = "March 9, 1454" } = person; console.log(fullName); // Output: Amerigo Vespucci console.log(nationality); // Output: Italian console.log(birthDate); // Output: March 9, 1454
Jos birthDate puuttuu, käytetään oletusarvoa.
Muuttujien uudelleennimeäminen
Poimitut muuttujat voidaan nimetä uudelleen käyttämällä :-syntaksia.
1234567891011const weather = { city: "Melbourne", minTemperature: 65, maxTemperature: 78, }; const { city, minTemperature: min, maxTemperature: max } = weather; console.log(city); // Output: Melbourne console.log(min); // Output: 65 console.log(max); // Output: 78
Tämä on hyödyllistä, kun lyhyemmät nimet parantavat luettavuutta tai kun halutaan välttää nimikonflikteja.
Sisäkkäisten olioiden purku
Voit myös purkaa ominaisuuksia sisäkkäisistä olioista.
123456789101112131415161718192021const person = { name: "Dean Mayert", profession: "Neuropsychologist", education: { degree: "Ph.D. in Neuropsychology", university: "Mind Institute", graduationYear: 2008, }, }; const { name, profession, education: { degree, university, graduationYear }, } = person; console.log(name); // Output: Dean Mayert console.log(profession); // Output: Neuropsychologist console.log(degree); // Output: Ph.D. in Neuropsychology console.log(university); // Output: Mind Institute console.log(graduationYear); // Output: 2008
Voit poimia sekä ylimmän tason että syvälle sisäkkäin olevia arvoja yhdellä selkeällä lausekkeella.
1. Mitä seuraava koodi tekee?
2. Miten voimme asettaa oletusarvot muuttujille olion purkamisessa?
3. Miten voimme nimetä muuttujat uudelleen olion purkamisessa?
Kiitos palautteestasi!