Получите доступ к хеш-значению, когда ключ - это число со значением undescore (1_1) - PullRequest
0 голосов
/ 21 июня 2019

Когда у меня есть это:

hash = { 1_1: 'foo' }

почему hash[1_1] дает undefined, в то время как например:

hash = { 1: 'foo' }

hash[1] возвращает правильное значение.

Ключи обоих объектов являются строками:

typeof Object.keys(hash)[0]  /// -> string

Так почему же он не преобразует hash[1_1] в строку?

p.s. Я тестировал Chrome и, похоже, он уже поддерживает числовые разделители

1 Ответ

3 голосов
/ 21 июня 2019

Двигатель JS избавляется от подчеркивания и переводит ключ из 1_1 в 11. Но если вы заключите его в кавычки, он будет работать:

hash = {"1_1": 'foo' }

//{1_1: "foo"}

Дальнейшее чтение: Какие символы допустимы / недействительны в имени ключа JSON?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...