Använda Egenskaper Inom Metoder
Låt oss fördjupa oss i användningen av objektmetoder och utforska hur metoder använder nyckelordet this för att komma åt objektets egenskaper.
Åtkomst till objektets egenskaper i metoder
När en metod definieras inom ett objekt kan objektets egenskaper nås med hjälp av nyckelordet this. this refererar till objektet som anropade metoden, vilket möjliggör interaktion med dess egenskaper. Detta koncept illustreras med ett exempel:
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 metoden getInfo syftar this på objektet furniture och representerar hela objektets interna innehåll.
Praktiskt exempel
I metoder kan objektets egenskaper nås via this och sedan användas med punktnotation som vanligt.
I exemplet nedan använder metoderna getColor, addProperty och modifyProperty this för att komma åt egenskaper i furniture och utföra olika operationer.
getColorloggar garderobens färg till konsolen genom att användathisför att referera till objektets egenskaper;addPropertylägger till nya egenskaper i furniture-objektet. Den tar två parametrar:propertyName(namnet på den nya egenskapen) ochpropertyValue(värdet som ska tilldelas den nya egenskapen);modifyPropertyändrar värdet på en befintlig egenskap ifurniture-objektet. Den tar två parametrar:propertyName(namnet på egenskapen som ska ändras) ochpropertyValue(det nya värdet som ska tilldelas egenskapen).
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
Obs
Användning av nyckelordet
thisär avgörande i objektmetoder. Det säkerställer att metoden arbetar med det specifika objekt som anropar den, även om namnet är okänt i förväg. Detta undviker potentiella problem, såsom att kopiera metoder från ett objekt till ett annat med ett annat namn.
1. Vad refererar nyckelordet this till när det används inom en metod i ett objekt?
2. I exemplet nedan, vad är syftet med metoden getFeastPrice i objektet menu?
3. I exemplet nedan, hur får du åtkomst till egenskapen "cold appetizer" i objektet menu med hjälp av this?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain more about how the `this` keyword works in different contexts?
What happens if I call a method without using the object (e.g., assign it to a variable and call it)?
Can you show an example of copying a method to another object and how `this` behaves?
Awesome!
Completion rate improved to 2.27
Använda Egenskaper Inom Metoder
Svep för att visa menyn
Låt oss fördjupa oss i användningen av objektmetoder och utforska hur metoder använder nyckelordet this för att komma åt objektets egenskaper.
Åtkomst till objektets egenskaper i metoder
När en metod definieras inom ett objekt kan objektets egenskaper nås med hjälp av nyckelordet this. this refererar till objektet som anropade metoden, vilket möjliggör interaktion med dess egenskaper. Detta koncept illustreras med ett exempel:
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 metoden getInfo syftar this på objektet furniture och representerar hela objektets interna innehåll.
Praktiskt exempel
I metoder kan objektets egenskaper nås via this och sedan användas med punktnotation som vanligt.
I exemplet nedan använder metoderna getColor, addProperty och modifyProperty this för att komma åt egenskaper i furniture och utföra olika operationer.
getColorloggar garderobens färg till konsolen genom att användathisför att referera till objektets egenskaper;addPropertylägger till nya egenskaper i furniture-objektet. Den tar två parametrar:propertyName(namnet på den nya egenskapen) ochpropertyValue(värdet som ska tilldelas den nya egenskapen);modifyPropertyändrar värdet på en befintlig egenskap ifurniture-objektet. Den tar två parametrar:propertyName(namnet på egenskapen som ska ändras) ochpropertyValue(det nya värdet som ska tilldelas egenskapen).
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
Obs
Användning av nyckelordet
thisär avgörande i objektmetoder. Det säkerställer att metoden arbetar med det specifika objekt som anropar den, även om namnet är okänt i förväg. Detta undviker potentiella problem, såsom att kopiera metoder från ett objekt till ett annat med ett annat namn.
1. Vad refererar nyckelordet this till när det används inom en metod i ett objekt?
2. I exemplet nedan, vad är syftet med metoden getFeastPrice i objektet menu?
3. I exemplet nedan, hur får du åtkomst till egenskapen "cold appetizer" i objektet menu med hjälp av this?
Tack för dina kommentarer!