но нужна эта переменная в двойных кавычках "235"
Под этим вы подразумеваете, что она должна быть строкой .
Не волнуйтесь, это так.Когда вы используете число в качестве имени свойства, оно автоматически преобразуется в строку.Имена свойств могут быть только строками или символами, поэтому вещи, которые не являются строками или символами, преобразуются в строку:
class Example {
constructor() {
this.option = [];
const option = {
product_option_id: 42
};
const $event = {};
this.option.push({
[option.product_option_id]: $event
});
const pushed = this.option[0];
for (const key of Object.keys(pushed)) {
console.log(`${key}: ${typeof key}`);
}
}
}
new Example();
Тем не менее, выражение в []
вычисляемого имени свойства является просто выражением.Так что если вы хотите быть явным, вы можете использовать String
там:
option.push({
[String(option.product_option_id)]: $event
});