Usando Propriedades Dentro de Métodos
Vamos aprofundar o uso de métodos de objetos e explorar como os métodos utilizam a palavra-chave this para acessar as propriedades do objeto.
Acessar propriedades do objeto em métodos
Ao definir um método dentro de um objeto, é possível acessar as propriedades do objeto utilizando a palavra-chave this. this refere-se ao objeto que chamou o método, permitindo a interação com suas propriedades. Vamos ilustrar esse conceito com um exemplo:
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: ƒ}
No método getInfo, this refere-se ao objeto furniture e representa todo o conteúdo interno do objeto.
Exemplo prático
Em métodos, é possível acessar as propriedades do objeto por meio de this e, em seguida, utilizar a notação de ponto para acessar propriedades específicas normalmente.
No exemplo abaixo, os métodos getColor, addProperty e modifyProperty utilizam this para acessar a propriedade furniture e realizar diversas operações.
getColorexibe a cor do guarda-roupa no console utilizandothispara referenciar as propriedades do objeto;addPropertyadiciona novas propriedades ao objeto furniture. Recebe dois parâmetros:propertyName(nome da nova propriedade) epropertyValue(valor a ser atribuído à nova propriedade);modifyPropertyaltera o valor de uma propriedade existente no objetofurniture. Recebe dois parâmetros:propertyName(nome da propriedade a ser modificada) epropertyValue(novo valor a ser atribuído à propriedade).
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
Nota
O uso da palavra-chave
thisé essencial em métodos de objetos. Ela garante que o método funcione com o objeto específico que o chamou, mesmo que o nome não seja conhecido antecipadamente. Isso evita possíveis problemas, como copiar métodos de um objeto para outro com um nome diferente.
1. A que a palavra-chave this se refere quando usada dentro de um método de um objeto?
2. No exemplo fornecido abaixo, qual é o papel do método getFeastPrice no objeto menu?
3. No exemplo fornecido abaixo, como acessar a propriedade "cold appetizer" do objeto menu usando this?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 2.27
Usando Propriedades Dentro de Métodos
Deslize para mostrar o menu
Vamos aprofundar o uso de métodos de objetos e explorar como os métodos utilizam a palavra-chave this para acessar as propriedades do objeto.
Acessar propriedades do objeto em métodos
Ao definir um método dentro de um objeto, é possível acessar as propriedades do objeto utilizando a palavra-chave this. this refere-se ao objeto que chamou o método, permitindo a interação com suas propriedades. Vamos ilustrar esse conceito com um exemplo:
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: ƒ}
No método getInfo, this refere-se ao objeto furniture e representa todo o conteúdo interno do objeto.
Exemplo prático
Em métodos, é possível acessar as propriedades do objeto por meio de this e, em seguida, utilizar a notação de ponto para acessar propriedades específicas normalmente.
No exemplo abaixo, os métodos getColor, addProperty e modifyProperty utilizam this para acessar a propriedade furniture e realizar diversas operações.
getColorexibe a cor do guarda-roupa no console utilizandothispara referenciar as propriedades do objeto;addPropertyadiciona novas propriedades ao objeto furniture. Recebe dois parâmetros:propertyName(nome da nova propriedade) epropertyValue(valor a ser atribuído à nova propriedade);modifyPropertyaltera o valor de uma propriedade existente no objetofurniture. Recebe dois parâmetros:propertyName(nome da propriedade a ser modificada) epropertyValue(novo valor a ser atribuído à propriedade).
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
Nota
O uso da palavra-chave
thisé essencial em métodos de objetos. Ela garante que o método funcione com o objeto específico que o chamou, mesmo que o nome não seja conhecido antecipadamente. Isso evita possíveis problemas, como copiar métodos de um objeto para outro com um nome diferente.
1. A que a palavra-chave this se refere quando usada dentro de um método de um objeto?
2. No exemplo fornecido abaixo, qual é o papel do método getFeastPrice no objeto menu?
3. No exemplo fornecido abaixo, como acessar a propriedade "cold appetizer" do objeto menu usando this?
Obrigado pelo seu feedback!