[英]How to edit values of an object inside an array inside a class in JavaScript?
如果我有一個帶有構造函數的 class 並且在構造函數中有一個帶有對象的數組,並且我想要一個 object 方法來編輯對象的值,它會變得有點混亂。
這就是我的目標:
class SomeClass {
constructor() {
this.o = [
{
name: "John",
changeName: () => {
this.name = "Mike";
},
},
];
}
}
SomeClass.o[0].changeName();
但這不起作用,因為this
指的是 class 而不是 object。
首先,如果您希望構造函數運行,您需要使用new
創建一個實例。
當您希望this
引用您調用該方法的 object 時,不要使用箭頭函數。
像這樣正確:
class SomeClass { constructor() { this.o = [ { name: "John", changeName() { // not an arrow function this.name = "Mike"; }, }, ]; } } let obj = new SomeClass(); // use `new` obj.o[0].changeName(); console.log(obj.o[0].name);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.