Javascript: доступ к свойству объекта, имя которого начинается с числа
Я создаю Javascript / приложение jQuery .
Мне нужно обработать ответ JSON , который представляет собой HashMap, например: 
  {
    "accounts": {
      "MediaFire": {
       "provider": "MediaFire",
       "usedStorage": "779680",
       "totalStorage": "53687091200"
      },
      "4Sync": {
       "provider": "4Sync",
       "usedStorage": "620692",
       "totalStorage": "16106127360"
      }
    }
  }
Я использую функцию вставки (которую я не могу контролировать), которая возвращает анализируемый ответ JSON в объекте result.
Когда я пытаюсь получить доступ к 4Sync Вот так: 
var usedStorage = result.accounts.4Sync.usedStorage; //doesn't work
Это не работает, я думаю это из-за 4 в начале ... Та же операция с другим объект работает нормально:
var usedStorage = result.accounts.MediaFire.usedStorage; //works
Я знаю, что объект result содержит объект 4Sync, но я не могу получить к нему доступ. Вот скриншот консоли Chrome: 

Есть ли обходной путь для решения этой проблемы?
1 ответ:
Используйте квадратные скобки:
Идентификаторы свойств могут начинаться с числа, но выражения-члены с символомvar usedStorage = result.accounts["4Sync"].usedStorage;.допускают только допустимые идентификаторы переменных (поскольку все остальное неоднозначно). Чтобы обойти это, вы можете использовать синтаксис квадратных скобок, который эквивалентен, но позволяет использовать любую строку.Если вам интересно, вот грамматика :
Обратите внимание, что квадратные скобки могут содержать любое выражение, но заMemberExpression :
первичное выражение
выражение функции
MemberExpression[Выражение]
MemberExpression.IdentifierName.может следовать только IdentifierName (в основном, любой действительный идентификатор плюс зарезервированные слова в ES5).