Как я могу дать объекту динамическое имя свойства?

Вот собственно объект:

let obj={
dependsOn:"x",
//ещё много свойств
//Это свойство должно изменять свое имя в зависимости от значения dependsOn
f_of_????:"x^2"
}

На месте вопросов нужно поставить что-то, что будет динамически менять имя свойства f_of. Можно изменить f_of на функцию. Это должно работать, даже если dependsOn будет t,y,u и т.д.


Ответы (2 шт):

Автор решения: Алексей Шиманский

чтобы сделать диначический ключ, то просто он оборачивается в квадратные скобки, например

let number = 5;
let obj = {
    ['dynamic_' + number] : 'hello'
}
→ Ссылка
Автор решения: ΝNL993

Вы имели в виду что-то подобное?

let obj = {
  __x_value: 'x',
  f_of_x: 'some value',
  get dependsOn() {
    return this.__x_value
  },
  set dependsOn(x) {
    let prev = this['f_of_'+this.__x_value]
    delete this['f_of_'+this.__x_value]
    this.__x_value = x
    this['f_of_'+this.__x_value] = prev
  }
}

console.log(obj.dependsOn, obj.f_of_z, obj.f_of_x)

obj.dependsOn = 'z'

console.log(obj.dependsOn, obj.f_of_z, obj.f_of_x)

→ Ссылка