Обратите внимание, что на этот вопрос нет ответа Самостоятельные ссылки в литералах / инициализаторах объекта , поскольку этот вопрос касается определения свойств в терминах других свойств, а не методов.
Кроме того, Как ключевое слово "this" в Javascript действует внутри литерала объекта? является слишком высокоуровневым расшифровкой предмета для меня, чтобы я мог решить мой вариант использования.
In Python, я могу сделать это:
class Test:
def __init__(self):
self.id = self.get_id()
def get_id(self):
return 10
t = Test()
print(t.id)
Значение свойства объекта может быть определено в терминах метода того же объекта.
В JavaScript оно не работает :
var Test = {
id : this.getId(),
getId : function() {
return 10;
}
};
Дает script.js:47 Uncaught TypeError: this.getId is not a function
Я пытался определить id
после определения метода, но это не сработало.
Как мне это сделать это в JavaScript пожалуйста?