Brug af Egenskaber Inden for Metoder
Lad os dykke dybere ned i brugen af objektmetoder og udforske, hvordan metoder anvender this-nøgleordet til at få adgang til objektets egenskaber.
Adgang til objektets egenskaber i metoder
Inde i en metode giver this mulighed for at læse eller opdatere objektets egenskaber.
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: ƒ}
I getInfo-metoden refererer this til furniture-objektet og repræsenterer hele objektets indhold.
Praktisk eksempel
I metoder kan objektets egenskaber tilgås via this, hvorefter punktnotation bruges til at tilgå de specifikke egenskaber som normalt.
I eksemplet nedenfor anvender metoderne getColor, addProperty og modifyProperty this til at tilgå furniture-egenskaben og udføre forskellige operationer.
getColorlogger garderobens farve til konsollen ved at brugethistil at referere til objektets egenskaber;addPropertytilføjer nye egenskaber til furniture-objektet. Den tager to parametre:propertyName(navnet på den nye egenskab) ogpropertyValue(værdien, der skal tildeles den nye egenskab);modifyPropertyændrer værdien af en eksisterende egenskab ifurniture-objektet. Den tager to parametre:propertyName(navnet på den egenskab, der skal ændres) ogpropertyValue(den nye værdi, der skal tildeles egenskaben).
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 sikrer, at metoden altid henviser til det korrekte objekt, selv hvis metoden genbruges eller kopieres andre steder.
1. Hvad henviser nøgleordet this til, når det bruges i en metode i et objekt?
2. I det følgende eksempel, hvad er rollen for metoden getFeastPrice i objektet menu?
3. I eksemplet nedenfor, hvordan tilgås egenskaben "cold appetizer" i objektet menu ved brug af this?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Fantastisk!
Completion rate forbedret til 2.27
Brug af Egenskaber Inden for Metoder
Stryg for at vise menuen
Lad os dykke dybere ned i brugen af objektmetoder og udforske, hvordan metoder anvender this-nøgleordet til at få adgang til objektets egenskaber.
Adgang til objektets egenskaber i metoder
Inde i en metode giver this mulighed for at læse eller opdatere objektets egenskaber.
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: ƒ}
I getInfo-metoden refererer this til furniture-objektet og repræsenterer hele objektets indhold.
Praktisk eksempel
I metoder kan objektets egenskaber tilgås via this, hvorefter punktnotation bruges til at tilgå de specifikke egenskaber som normalt.
I eksemplet nedenfor anvender metoderne getColor, addProperty og modifyProperty this til at tilgå furniture-egenskaben og udføre forskellige operationer.
getColorlogger garderobens farve til konsollen ved at brugethistil at referere til objektets egenskaber;addPropertytilføjer nye egenskaber til furniture-objektet. Den tager to parametre:propertyName(navnet på den nye egenskab) ogpropertyValue(værdien, der skal tildeles den nye egenskab);modifyPropertyændrer værdien af en eksisterende egenskab ifurniture-objektet. Den tager to parametre:propertyName(navnet på den egenskab, der skal ændres) ogpropertyValue(den nye værdi, der skal tildeles egenskaben).
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 sikrer, at metoden altid henviser til det korrekte objekt, selv hvis metoden genbruges eller kopieres andre steder.
1. Hvad henviser nøgleordet this til, når det bruges i en metode i et objekt?
2. I det følgende eksempel, hvad er rollen for metoden getFeastPrice i objektet menu?
3. I eksemplet nedenfor, hvordan tilgås egenskaben "cold appetizer" i objektet menu ved brug af this?
Tak for dine kommentarer!