У меня что-то вроде этого:
add(messenger) {
switch (messenger) {
case 'skype':
this.messengers = _.assign(this.messengers, {skype: ''})
break
case 'telegram':
this.messengers = _.assign(this.messengers, {telegram: ''})
break
}
}
Но есть ли способы сделать его короче? Нравится:
add(messenger) {
this.messengers = _.assign(this.messengers, {messenger: ''})
},
Нет ли хорошей цели дублирования для вычисленных свойств?
Возможно: возможный дубликат Добавить свойство к объекту JavaScript, используя в качестве имени переменную?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


используя ES6, вы можете это сделать.
add(messenger) {
this.messengers = _.assign(this.messengers, { [messenger]: '' });
}
Да, вы можете установить ключ для значения переменной, используя квадратные скобки, например:
this.messengers = _.assign(this.messengers, {[messenger]: ''})
Используйте скобки:
_.assign(this.messengers, {[messenger]: ''}).