Olio-ominaisuuksien Hallinta
Tarkastellaan kolmea tärkeää käsitettä, jotka liittyvät olion ominaisuuksien käsittelyyn:
- Ominaisuuksien arvojen muokkaaminen;
- Uusien ominaisuuksien lisääminen;
- Lyhytmuotoisten ominaisuuksien käyttäminen.
Ominaisuuksien arvojen muokkaaminen
Kun olio on luotu, sen ominaisuuksien arvoja voidaan helposti muuttaa. Tämä tehdään viittaamalla ominaisuuteen sen nimellä pisteoperaattorin avulla ja määrittämällä uusi arvo.
Tarkastellaan esimerkkiä company-oliolla:
12345678910111213141516const company = { title: "Toyota", nativeName: "トヨタ自動車株式会社", industry: "Pharmacy", founded: { year: 1996, month: "August", day: 28, }, }; company.industry = "Automotive"; company.founded.year = 1937; console.log(company.industry); // Output: Automotive console.log(company.founded.year); // Output: 1937
Tässä esimerkissä muutetaan industry- ja founded.year-ominaisuuksien arvoja.
Uusien ominaisuuksien lisääminen
Uuden ominaisuuden lisääminen olioon ei eroa olemassa olevan ominaisuuden arvon muuttamisesta. Jos oliossa ei ole määritellyn nimistä ominaisuutta, se luodaan automaattisesti.
Tarkastellaan aiemman esimerkin company-oliota:
1234567891011121314const company = { title: "Toyota", nativeName: "トヨタ自動車株式会社", industry: "Automotive", founded: { year: 1937, month: "August", day: 28, }, }; company.founder = "Kiichiro Toyoda"; console.log(company.founder); // Output: Kiichiro Toyoda
Tässä esimerkissä lisätään uusi ominaisuus founder olioon company.
Lyhytsyntaksiset ominaisuudet
Lyhytsyntaksiset ominaisuudet helpottavat olioiden luomista, erityisesti kun halutaan käyttää muuttujien tai funktioparametrien arvoja ominaisuuksina.
Tämä syntaksi mahdollistaa muuttujan nimen käyttämisen ominaisuuden nimenä ja sen arvon käyttämisen ominaisuuden arvona.
Tarkastellaan seuraavaa esimerkkiä:
12345678910const name = "Carl Benz"; const birthCountry = "Germany"; const person = { name: name, birthCountry: birthCountry, }; console.log(person.name); // Output: Carl Benz console.log(person.birthCountry); // Output: Germany
Lyhyt ominaisuussyntaksi mahdollistaa saman objektin luomisen tiiviimmin:
12345678910const name = "Carl Benz"; const birthCountry = "Germany"; const person = { name, birthCountry, }; console.log(person.name); // Output: Carl Benz console.log(person.birthCountry); // Output: Germany
Lyhyillä ominaisuuksilla tarvitsee määrittää vain ominaisuuden nimi, ja arvo otetaan automaattisesti samannimisestä muuttujasta.
1. Kuinka voimme muuttaa olion ominaisuuksien arvoja olion luomisen jälkeen?
2. Mitä tapahtuu, kun yrität muuttaa olion ominaisuuden arvoa, jota ei ole olemassa, käyttäen pisteoperaattoria?
3. Mikä seuraavista esimerkeistä havainnollistaa lyhytmuotoisten ominaisuuksien käyttöä olion luonnissa?
4. Kuinka voit sisällyttää muuttujan city ominaisuudeksi userLocation-olioon käyttäen lyhytmuotoisia ominaisuuksia?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain more about shorthand properties and when to use them?
What happens if I try to modify a property that doesn't exist yet?
Can you show more examples of adding or modifying nested object properties?
Awesome!
Completion rate improved to 2.27
Olio-ominaisuuksien Hallinta
Pyyhkäise näyttääksesi valikon
Tarkastellaan kolmea tärkeää käsitettä, jotka liittyvät olion ominaisuuksien käsittelyyn:
- Ominaisuuksien arvojen muokkaaminen;
- Uusien ominaisuuksien lisääminen;
- Lyhytmuotoisten ominaisuuksien käyttäminen.
Ominaisuuksien arvojen muokkaaminen
Kun olio on luotu, sen ominaisuuksien arvoja voidaan helposti muuttaa. Tämä tehdään viittaamalla ominaisuuteen sen nimellä pisteoperaattorin avulla ja määrittämällä uusi arvo.
Tarkastellaan esimerkkiä company-oliolla:
12345678910111213141516const company = { title: "Toyota", nativeName: "トヨタ自動車株式会社", industry: "Pharmacy", founded: { year: 1996, month: "August", day: 28, }, }; company.industry = "Automotive"; company.founded.year = 1937; console.log(company.industry); // Output: Automotive console.log(company.founded.year); // Output: 1937
Tässä esimerkissä muutetaan industry- ja founded.year-ominaisuuksien arvoja.
Uusien ominaisuuksien lisääminen
Uuden ominaisuuden lisääminen olioon ei eroa olemassa olevan ominaisuuden arvon muuttamisesta. Jos oliossa ei ole määritellyn nimistä ominaisuutta, se luodaan automaattisesti.
Tarkastellaan aiemman esimerkin company-oliota:
1234567891011121314const company = { title: "Toyota", nativeName: "トヨタ自動車株式会社", industry: "Automotive", founded: { year: 1937, month: "August", day: 28, }, }; company.founder = "Kiichiro Toyoda"; console.log(company.founder); // Output: Kiichiro Toyoda
Tässä esimerkissä lisätään uusi ominaisuus founder olioon company.
Lyhytsyntaksiset ominaisuudet
Lyhytsyntaksiset ominaisuudet helpottavat olioiden luomista, erityisesti kun halutaan käyttää muuttujien tai funktioparametrien arvoja ominaisuuksina.
Tämä syntaksi mahdollistaa muuttujan nimen käyttämisen ominaisuuden nimenä ja sen arvon käyttämisen ominaisuuden arvona.
Tarkastellaan seuraavaa esimerkkiä:
12345678910const name = "Carl Benz"; const birthCountry = "Germany"; const person = { name: name, birthCountry: birthCountry, }; console.log(person.name); // Output: Carl Benz console.log(person.birthCountry); // Output: Germany
Lyhyt ominaisuussyntaksi mahdollistaa saman objektin luomisen tiiviimmin:
12345678910const name = "Carl Benz"; const birthCountry = "Germany"; const person = { name, birthCountry, }; console.log(person.name); // Output: Carl Benz console.log(person.birthCountry); // Output: Germany
Lyhyillä ominaisuuksilla tarvitsee määrittää vain ominaisuuden nimi, ja arvo otetaan automaattisesti samannimisestä muuttujasta.
1. Kuinka voimme muuttaa olion ominaisuuksien arvoja olion luomisen jälkeen?
2. Mitä tapahtuu, kun yrität muuttaa olion ominaisuuden arvoa, jota ei ole olemassa, käyttäen pisteoperaattoria?
3. Mikä seuraavista esimerkeistä havainnollistaa lyhytmuotoisten ominaisuuksien käyttöä olion luonnissa?
4. Kuinka voit sisällyttää muuttujan city ominaisuudeksi userLocation-olioon käyttäen lyhytmuotoisia ominaisuuksia?
Kiitos palautteestasi!