Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Olioiden Purkaminen Siistimpään Koodiin | Edistyneet Olionkäsittelytekniikat
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Javascriptin tietorakenteet

bookOlioiden 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ä

12345678910
const 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
copy

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:

123456789
const 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
copy

Jos birthDate puuttuu, käytetään oletusarvoa.

Muuttujien uudelleennimeäminen

Poimitut muuttujat voidaan nimetä uudelleen käyttämällä :-syntaksia.

1234567891011
const 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
copy

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.

123456789101112131415161718192021
const 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
copy

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?

question mark

Mitä seuraava koodi tekee?

Select the correct answer

question mark

Miten voimme asettaa oletusarvot muuttujille olion purkamisessa?

Select the correct answer

question mark

Miten voimme nimetä muuttujat uudelleen olion purkamisessa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookOlioiden 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ä

12345678910
const 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
copy

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:

123456789
const 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
copy

Jos birthDate puuttuu, käytetään oletusarvoa.

Muuttujien uudelleennimeäminen

Poimitut muuttujat voidaan nimetä uudelleen käyttämällä :-syntaksia.

1234567891011
const 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
copy

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.

123456789101112131415161718192021
const 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
copy

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?

question mark

Mitä seuraava koodi tekee?

Select the correct answer

question mark

Miten voimme asettaa oletusarvot muuttujille olion purkamisessa?

Select the correct answer

question mark

Miten voimme nimetä muuttujat uudelleen olion purkamisessa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 7
some-alt