Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele JavaScript-Olioiden Ominaisuuksien Käsittely | JavaScript-Olioiden Perusteet
Javascriptin tietorakenteet

bookJavaScript-Olioiden Ominaisuuksien Käsittely

Tarkastelemme kahta tapaa olion ominaisuuksien käsittelemiseen: pisteoperaattori ja hakasulut. Näiden menetelmien avulla voidaan hakea tiettyjä arvoja olioista, ja käsittelemme tilanteita, joissa kumpaakin tapaa käytetään yleisesti.

Ominaisuuksien käsittely pisteoperaattorilla

Ensisijainen ja yleisimmin käytetty tapa olion ominaisuuksien käsittelemiseen on pisteoperaattori. Tässä lähestymistavassa ominaisuus haetaan määrittelemällä olion nimi, piste ja ominaisuuden nimi.

Tarkastellaan esimerkkiä, jossa käytetään oliota työntekijän kuvaamiseen ja käsitellään sen ominaisuuksia pisteoperaattorilla:

1234567891011
const employee = { companyName: "Schuster, Mertz and Marks", name: "Miss Alma Boyer", address: "2277 Karine Plains", workedYears: 4, remote: false, }; console.log(employee.name); // Output: Miss Alma Boyer console.log(employee.address); // Output: 2277 Karine Plains console.log(employee.lastName); // Output: undefined
copy

Huomio

  • Jos yrität käyttää ominaisuutta, jota ei ole olemassa, JavaScript palauttaa undefined;

  • undefined ei tulostu, kun suoritat koodin.

Ominaisuuksien käsittely hakasulkeilla

Toinen tapa käyttää olion ominaisuuksia on hakasulkeiden avulla. Tässä syntaksissa määritellään olion nimi, jota seuraavat hakasulkeet, joiden sisällä ominaisuuden nimi on merkkijonona.

Tätä lähestymistapaa käytetään harvemmin kuin pisteoperaattoria, mutta se on välttämätön tilanteissa, joissa ominaisuuden nimi ei ole tiedossa etukäteen tai se on tallennettu muuttujaan, kuten funktion parametrina. Tässä esimerkki samasta employee-oliosta:

1234567891011
const employee = { companyName: "Schuster, Mertz and Marks", name: "Miss Alma Boyer", address: "2277 Karine Plains", workedYears: 4, remote: false, }; console.log(employee["name"]); // Output: Miss Alma Boyer console.log(employee["address"]); // Output: 2277 Karine Plains console.log(employee["lastName"]); // Output: undefined
copy

Tämä menetelmä käyttää ominaisuuden nimeä merkkijonona hakasulkeiden sisällä. Se mahdollistaa dynaamisen ominaisuuksien käsittelyn, mikä on hyödyllistä monimutkaisempien tietorakenteiden kanssa.

Sisäkkäisten ominaisuuksien käsittely

Tarkastellaan, miten sisäkkäisiin ominaisuuksiin päästään käsiksi pisteoperaattorilla seuraavan esimerkin avulla.

Pisteoperaattorilla määritellään polku haluttuun ominaisuuteen pisteillä erotettuna. Tarkastellaan esimerkkiä, jossa käytetään course-oliota:

1234567891011121314151617
const course = { courseName: "Applied Science", courseDuration: "48 hours", author: { position: "Nuclear Physicist", age: 43, name: { first: "Mattie", last: "Crooks", }, }, }; console.log(course.author.position); // Output: Nuclear Physicist console.log(course.author.age); // Output: 43 console.log(course.author.name.first); // Output: Mattie console.log(course.author.name.last); // Output: Crooks
copy

Tässä esimerkissä käytetään ominaisuuksien hakua eri syvyystasoilla product-oliosta.

1. Mitkä ovat tavat hakea olion ominaisuuksia?

2. Kun käytät pisteoperaattoria objektin ominaisuuksien hakemiseen, mitä palautetaan, jos yrität hakea ominaisuutta, jota ei ole olemassa?

3. Tarkastele seuraavaa monimutkaista objektia, joka kuvaa henkilön yhteystietoja. Kuinka voit hakea postinumeron person-objektista? Valitse kaikki mahdolliset vaihtoehdot.

question mark

Mitkä ovat tavat hakea olion ominaisuuksia?

Select the correct answer

question mark

Kun käytät pisteoperaattoria objektin ominaisuuksien hakemiseen, mitä palautetaan, jos yrität hakea ominaisuutta, jota ei ole olemassa?

Select the correct answer

question mark

Tarkastele seuraavaa monimutkaista objektia, joka kuvaa henkilön yhteystietoja. Kuinka voit hakea postinumeron person-objektista? Valitse kaikki mahdolliset vaihtoehdot.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 5

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

bookJavaScript-Olioiden Ominaisuuksien Käsittely

Pyyhkäise näyttääksesi valikon

Tarkastelemme kahta tapaa olion ominaisuuksien käsittelemiseen: pisteoperaattori ja hakasulut. Näiden menetelmien avulla voidaan hakea tiettyjä arvoja olioista, ja käsittelemme tilanteita, joissa kumpaakin tapaa käytetään yleisesti.

Ominaisuuksien käsittely pisteoperaattorilla

Ensisijainen ja yleisimmin käytetty tapa olion ominaisuuksien käsittelemiseen on pisteoperaattori. Tässä lähestymistavassa ominaisuus haetaan määrittelemällä olion nimi, piste ja ominaisuuden nimi.

Tarkastellaan esimerkkiä, jossa käytetään oliota työntekijän kuvaamiseen ja käsitellään sen ominaisuuksia pisteoperaattorilla:

1234567891011
const employee = { companyName: "Schuster, Mertz and Marks", name: "Miss Alma Boyer", address: "2277 Karine Plains", workedYears: 4, remote: false, }; console.log(employee.name); // Output: Miss Alma Boyer console.log(employee.address); // Output: 2277 Karine Plains console.log(employee.lastName); // Output: undefined
copy

Huomio

  • Jos yrität käyttää ominaisuutta, jota ei ole olemassa, JavaScript palauttaa undefined;

  • undefined ei tulostu, kun suoritat koodin.

Ominaisuuksien käsittely hakasulkeilla

Toinen tapa käyttää olion ominaisuuksia on hakasulkeiden avulla. Tässä syntaksissa määritellään olion nimi, jota seuraavat hakasulkeet, joiden sisällä ominaisuuden nimi on merkkijonona.

Tätä lähestymistapaa käytetään harvemmin kuin pisteoperaattoria, mutta se on välttämätön tilanteissa, joissa ominaisuuden nimi ei ole tiedossa etukäteen tai se on tallennettu muuttujaan, kuten funktion parametrina. Tässä esimerkki samasta employee-oliosta:

1234567891011
const employee = { companyName: "Schuster, Mertz and Marks", name: "Miss Alma Boyer", address: "2277 Karine Plains", workedYears: 4, remote: false, }; console.log(employee["name"]); // Output: Miss Alma Boyer console.log(employee["address"]); // Output: 2277 Karine Plains console.log(employee["lastName"]); // Output: undefined
copy

Tämä menetelmä käyttää ominaisuuden nimeä merkkijonona hakasulkeiden sisällä. Se mahdollistaa dynaamisen ominaisuuksien käsittelyn, mikä on hyödyllistä monimutkaisempien tietorakenteiden kanssa.

Sisäkkäisten ominaisuuksien käsittely

Tarkastellaan, miten sisäkkäisiin ominaisuuksiin päästään käsiksi pisteoperaattorilla seuraavan esimerkin avulla.

Pisteoperaattorilla määritellään polku haluttuun ominaisuuteen pisteillä erotettuna. Tarkastellaan esimerkkiä, jossa käytetään course-oliota:

1234567891011121314151617
const course = { courseName: "Applied Science", courseDuration: "48 hours", author: { position: "Nuclear Physicist", age: 43, name: { first: "Mattie", last: "Crooks", }, }, }; console.log(course.author.position); // Output: Nuclear Physicist console.log(course.author.age); // Output: 43 console.log(course.author.name.first); // Output: Mattie console.log(course.author.name.last); // Output: Crooks
copy

Tässä esimerkissä käytetään ominaisuuksien hakua eri syvyystasoilla product-oliosta.

1. Mitkä ovat tavat hakea olion ominaisuuksia?

2. Kun käytät pisteoperaattoria objektin ominaisuuksien hakemiseen, mitä palautetaan, jos yrität hakea ominaisuutta, jota ei ole olemassa?

3. Tarkastele seuraavaa monimutkaista objektia, joka kuvaa henkilön yhteystietoja. Kuinka voit hakea postinumeron person-objektista? Valitse kaikki mahdolliset vaihtoehdot.

question mark

Mitkä ovat tavat hakea olion ominaisuuksia?

Select the correct answer

question mark

Kun käytät pisteoperaattoria objektin ominaisuuksien hakemiseen, mitä palautetaan, jos yrität hakea ominaisuutta, jota ei ole olemassa?

Select the correct answer

question mark

Tarkastele seuraavaa monimutkaista objektia, joka kuvaa henkilön yhteystietoja. Kuinka voit hakea postinumeron person-objektista? Valitse kaikki mahdolliset vaihtoehdot.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 5
some-alt