Как определить переменную, которая не определена?

1

У меня есть следующий код:

if (!config.callers[uID].calls) {
    console.log(config.callers[uID].calls);
    config.callers[uID].calls = 0;
    saveConfig();
    console.log(config.callers[uID].calls);
}

Где у меня есть файл JSON, который называется config, и имеет callers объекты, которые представляют собой набор идентификаторов пользователей, и каждый из них имеет calls свойств. saveConfig() - это функция, которая сохраняет файл конфигурации.

Как вы можете видеть, я проверяю, не является ли свойство calls неопределенным, и если true, то оно определяет его в 0. Я также пытался определить его для разных вещей, но он, похоже, не работал. Он просто остается undefined.

  • 0
    Я вижу, проверка на ноль не неопределена
  • 0
    Как выглядит saveConfig() и как вы загружаете файл в первую очередь?
Показать ещё 6 комментариев
Теги:

1 ответ

3
Лучший ответ

Пытаться

if(!config.callers.hasOwnProperty("uID")) {
    console.log(config.callers);
    config.callers[uID] = {};
    config.callers[uID].calls = 0;
    saveConfig();
    console.log(config.callers[uID].calls);
} else if(!config.callers[uID].hasOwnProperty("calls")) {
    console.log(config.callers[uID]);
    config.callers[uID].calls = 0;
    saveConfig();
    console.log(config.callers[uID].calls);
}
  • 0
    Не думал об использовании hasOwnProperty() , спасибо!
  • 0
    добро пожаловать, удачи.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню