Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Använda Egenskaper Inom Metoder | Grunderna i JavaScript-Objekt
Javascript Datastrukturer

bookAnvä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.

  • getColor loggar garderobens färg till konsolen genom att använda this för att referera till objektets egenskaper;
  • addProperty lägger till nya egenskaper i furniture-objektet. Den tar två parametrar: propertyName (namnet på den nya egenskapen) och propertyValue (värdet som ska tilldelas den nya egenskapen);
  • modifyProperty ändrar värdet på en befintlig egenskap i furniture-objektet. Den tar två parametrar: propertyName (namnet på egenskapen som ska ändras) och propertyValue (det nya värdet som ska tilldelas egenskapen).
12345678910111213141516171819202122232425262728
const 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
copy

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?

question mark

Vad refererar nyckelordet this till när det används inom en metod i ett objekt?

Select the correct answer

question mark

I exemplet nedan, vad är syftet med metoden getFeastPrice i objektet menu?

Select the correct answer

question mark

I exemplet nedan, hur får du åtkomst till egenskapen "cold appetizer" i objektet menu med hjälp av this?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 10

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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

bookAnvä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.

  • getColor loggar garderobens färg till konsolen genom att använda this för att referera till objektets egenskaper;
  • addProperty lägger till nya egenskaper i furniture-objektet. Den tar två parametrar: propertyName (namnet på den nya egenskapen) och propertyValue (värdet som ska tilldelas den nya egenskapen);
  • modifyProperty ändrar värdet på en befintlig egenskap i furniture-objektet. Den tar två parametrar: propertyName (namnet på egenskapen som ska ändras) och propertyValue (det nya värdet som ska tilldelas egenskapen).
12345678910111213141516171819202122232425262728
const 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
copy

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?

question mark

Vad refererar nyckelordet this till när det används inom en metod i ett objekt?

Select the correct answer

question mark

I exemplet nedan, vad är syftet med metoden getFeastPrice i objektet menu?

Select the correct answer

question mark

I exemplet nedan, hur får du åtkomst till egenskapen "cold appetizer" i objektet menu med hjälp av this?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 10
some-alt