Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Olioiden Purkaminen Selkeämmän Koodin Saavuttamiseksi | Edistyneet Olionkäsittelytekniikat
Javascriptin tietorakenteet

bookOlioiden Purkaminen Selkeämmän Koodin Saavuttamiseksi

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 ja niin edelleen: Nämä ovat muuttujien nimet, joihin vastaavat arvot sourceObject-oliosta sijoitetaan. Ominaisuudet destrukturoituvat ominaisuuden nimen, ei järjestyksen mukaan. Järjestyksellä ei ole merkitystä;
  • sourceObject: Olio, josta halutaan poimia ominaisuuksia.

Olion purku käytännössä

Tarkastellaan esimerkkiä, jossa meillä on olio, joka kuvaa henkilön tietoja:

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 voimme käyttää muuttujia fullName, nationality ja occupation erillisinä muuttujina, joilla on vastaavat arvot person-oliosta.

Oletusarvojen määrittäminen

Voidaan myös määrittää oletusarvot muuttujille siltä varalta, että ominaisuutta ei löydy lähdeobjektista:

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

Tässä esimerkissä birthDate-muuttuja saa arvon "March 9, 1454", jos person-objektilla ei ole birthDate-ominaisuutta.

Muuttujien uudelleennimeäminen

Käyttämällä :-syntaksia voimme liittää ominaisuuksien arvot eri nimisiin muuttujiin. Esimerkiksi:

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

Nyt voimme käyttää min- ja max-muuttujia minTemperature- ja maxTemperature-muuttujien sijaan.

Sisäkkäisten olioiden purku

Purku voidaan soveltaa myös sisäkkäisiin olioihin. Jos olio sisältää ominaisuuksina muita olioita, voimme purkaa myös nämä sisäkkäiset ominaisuudet:

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

Tässä esimerkissä pääsemme käsiksi sekä ylimmän tason ominaisuuksiin, kuten name ja profession, että sisäkkäisiin ominaisuuksiin, kuten degree, university ja graduationYear, purun avulla.

1. Mitä seuraava koodi tekee?

2. Miten voimme määrittää 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 määrittää 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

Awesome!

Completion rate improved to 2.27

bookOlioiden Purkaminen Selkeämmän Koodin Saavuttamiseksi

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 ja niin edelleen: Nämä ovat muuttujien nimet, joihin vastaavat arvot sourceObject-oliosta sijoitetaan. Ominaisuudet destrukturoituvat ominaisuuden nimen, ei järjestyksen mukaan. Järjestyksellä ei ole merkitystä;
  • sourceObject: Olio, josta halutaan poimia ominaisuuksia.

Olion purku käytännössä

Tarkastellaan esimerkkiä, jossa meillä on olio, joka kuvaa henkilön tietoja:

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 voimme käyttää muuttujia fullName, nationality ja occupation erillisinä muuttujina, joilla on vastaavat arvot person-oliosta.

Oletusarvojen määrittäminen

Voidaan myös määrittää oletusarvot muuttujille siltä varalta, että ominaisuutta ei löydy lähdeobjektista:

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

Tässä esimerkissä birthDate-muuttuja saa arvon "March 9, 1454", jos person-objektilla ei ole birthDate-ominaisuutta.

Muuttujien uudelleennimeäminen

Käyttämällä :-syntaksia voimme liittää ominaisuuksien arvot eri nimisiin muuttujiin. Esimerkiksi:

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

Nyt voimme käyttää min- ja max-muuttujia minTemperature- ja maxTemperature-muuttujien sijaan.

Sisäkkäisten olioiden purku

Purku voidaan soveltaa myös sisäkkäisiin olioihin. Jos olio sisältää ominaisuuksina muita olioita, voimme purkaa myös nämä sisäkkäiset ominaisuudet:

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

Tässä esimerkissä pääsemme käsiksi sekä ylimmän tason ominaisuuksiin, kuten name ja profession, että sisäkkäisiin ominaisuuksiin, kuten degree, university ja graduationYear, purun avulla.

1. Mitä seuraava koodi tekee?

2. Miten voimme määrittää 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 määrittää 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