Chefranov
@Chefranov
Новичок

Почему не передается переменная?

Подскажите, где я ошибаюсь? Есть такая функция:
function save(name, data) {
    chrome.storage.local.set({name : data});
}

save('channels','myvalue');

но значение name туда не передается

А вот если прописать в лоб, то вот так работает:
function save()
{
    var channels = "myvalue";
    chrome.storage.local.set({'channels': channels});
}

save();


P.S. Делаю расширение для хрома
  • Вопрос задан
  • 105 просмотров
Решения вопроса 2
zendor
@zendor
Потому что в литерале объекта вы указываете непосредственно имя свойства (строка 'name' в данном случае). Сделайте так:
chrome.storage.local.set({[name]: data});
Вычисляемые имена свойств
Ответ написан
Комментировать
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Вот так нужно
function save(name, data) {
    chrome.storage.local.set({[name]: data});
}

иначе name у вас не динамическое название свойства, а просто 'name'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы