Ominaisuuksien Käyttäminen Metodeissa
Syvennytään tarkemmin olioiden metodien käyttöön ja tutkitaan, kuinka metodit hyödyntävät this-avainsanaa olion ominaisuuksien käsittelyssä.
Ominaisuuksien käsittely metodeissa
Metodin sisällä this mahdollistaa olion ominaisuuksien lukemisen tai päivittämisen.
const furniture = {
type: "wardrobe",
manufacturer: "Belgium",
color: "wenge magic",
getInfo() {
console.log(this);
},
};
// Method call
furniture.getInfo(); // Output: {type: 'wardrobe', manufacturer: 'Belgium', color: 'wenge magic', getInfo: ƒ}
Metodissa getInfo avainsana this viittaa furniture-objektiin ja edustaa koko objektin sisäistä sisältöä.
Käytännön esimerkki
Metodeissa objektin ominaisuuksiin pääsee käsiksi avainsanalla this ja käyttämällä pisteoperaattoria kuten tavallisesti.
Alla olevassa esimerkissä metodit getColor, addProperty ja modifyProperty käyttävät this-avainsanaa viitatakseen furniture-objektiin ja suorittavat erilaisia toimintoja.
getColortulostaa vaatekaapin värin konsoliin käyttämälläthis-viittausta objektin ominaisuuksiin;addPropertylisää uusia ominaisuuksia furniture-objektiin. Se ottaa kaksi parametria:propertyName(uuden ominaisuuden nimi) japropertyValue(uuden ominaisuuden arvo);modifyPropertymuuttaa olemassa olevan ominaisuuden arvoafurniture-objektissa. Se ottaa kaksi parametria:propertyName(muutettavan ominaisuuden nimi) japropertyValue(uusi arvo ominaisuudelle).
12345678910111213141516171819202122232425262728const furniture = { type: "wardrobe", manufacturer: "Belgium", color: "wenge magic", getColor() { console.log(this.color); }, addProperty(propertyName, propertyValue) { this[propertyName] = propertyValue; }, modifyProperty(propertyName, propertyValue) { this[propertyName] = propertyValue; }, }; // Access the `color` property of the `furniture` and log it to the console. furniture.getColor(); // Output: wenge magic // Add a new property to the `furniture` object using the `addProperty` method. furniture.addProperty("material", "wood"); console.log(furniture.material); // Output: wood // Modify an existing property using the `modifyProperty` method. furniture.modifyProperty("color", "oak"); console.log(furniture.color); // Output: oak
this varmistaa, että metodi viittaa aina oikeaan olioon, vaikka metodia käytettäisiin uudelleen tai kopioitaisiin muualle.
1. Mihin this-avainsana viittaa, kun sitä käytetään olion metodissa?
2. Alla olevassa esimerkissä, mikä on getFeastPrice-metodin rooli menu-oliossa?
3. Alla olevassa esimerkissä, kuinka pääset käsiksi "kylmä alkupala" -ominaisuuteen menu-oliosta käyttäen this-avainsanaa?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how the `this` keyword works in different contexts?
What happens if I call one of these methods from outside the object?
Can you show more examples of using `this` in object methods?
Mahtavaa!
Completion arvosana parantunut arvoon 2.27
Ominaisuuksien Käyttäminen Metodeissa
Pyyhkäise näyttääksesi valikon
Syvennytään tarkemmin olioiden metodien käyttöön ja tutkitaan, kuinka metodit hyödyntävät this-avainsanaa olion ominaisuuksien käsittelyssä.
Ominaisuuksien käsittely metodeissa
Metodin sisällä this mahdollistaa olion ominaisuuksien lukemisen tai päivittämisen.
const furniture = {
type: "wardrobe",
manufacturer: "Belgium",
color: "wenge magic",
getInfo() {
console.log(this);
},
};
// Method call
furniture.getInfo(); // Output: {type: 'wardrobe', manufacturer: 'Belgium', color: 'wenge magic', getInfo: ƒ}
Metodissa getInfo avainsana this viittaa furniture-objektiin ja edustaa koko objektin sisäistä sisältöä.
Käytännön esimerkki
Metodeissa objektin ominaisuuksiin pääsee käsiksi avainsanalla this ja käyttämällä pisteoperaattoria kuten tavallisesti.
Alla olevassa esimerkissä metodit getColor, addProperty ja modifyProperty käyttävät this-avainsanaa viitatakseen furniture-objektiin ja suorittavat erilaisia toimintoja.
getColortulostaa vaatekaapin värin konsoliin käyttämälläthis-viittausta objektin ominaisuuksiin;addPropertylisää uusia ominaisuuksia furniture-objektiin. Se ottaa kaksi parametria:propertyName(uuden ominaisuuden nimi) japropertyValue(uuden ominaisuuden arvo);modifyPropertymuuttaa olemassa olevan ominaisuuden arvoafurniture-objektissa. Se ottaa kaksi parametria:propertyName(muutettavan ominaisuuden nimi) japropertyValue(uusi arvo ominaisuudelle).
12345678910111213141516171819202122232425262728const furniture = { type: "wardrobe", manufacturer: "Belgium", color: "wenge magic", getColor() { console.log(this.color); }, addProperty(propertyName, propertyValue) { this[propertyName] = propertyValue; }, modifyProperty(propertyName, propertyValue) { this[propertyName] = propertyValue; }, }; // Access the `color` property of the `furniture` and log it to the console. furniture.getColor(); // Output: wenge magic // Add a new property to the `furniture` object using the `addProperty` method. furniture.addProperty("material", "wood"); console.log(furniture.material); // Output: wood // Modify an existing property using the `modifyProperty` method. furniture.modifyProperty("color", "oak"); console.log(furniture.color); // Output: oak
this varmistaa, että metodi viittaa aina oikeaan olioon, vaikka metodia käytettäisiin uudelleen tai kopioitaisiin muualle.
1. Mihin this-avainsana viittaa, kun sitä käytetään olion metodissa?
2. Alla olevassa esimerkissä, mikä on getFeastPrice-metodin rooli menu-oliossa?
3. Alla olevassa esimerkissä, kuinka pääset käsiksi "kylmä alkupala" -ominaisuuteen menu-oliosta käyttäen this-avainsanaa?
Kiitos palautteestasi!