одинарные кавычки для строковых ключей в объекте javascript

#javascript #node.js #string #object

Вопрос:

В nodejs я создавал список объектов, каждый из которых должен был иметь строковый ключ и число в качестве значения. Я могу создать это без проблем, но при попытке зарегистрировать это с помощью console.log() . Я мог видеть, что у некоторых ключей не было ни одной кавычки, окружающей ключ, в то время как у некоторых это было.

напр.

 [  { '2d22f294': 0 },   { b6d108da: 0 },  { b17562ff: 0 },  { '0e4a0beb': 0 }  ]  

Может ли кто-нибудь объяснить , что значит иметь одинарные кавычки вокруг ключа, я исходил из предположения, что это означало, что ключ был строкой, но даже те, у которых нет одинарных кавычек вокруг ключей, являются строками и действуют как строки.

Ответ №1:

Если он начинается с числа, то печать должна показывать вам действительный javascript, а кавычки говорят вам, что ключ представляет собой строку (не число).

Ответ №2:

Если у вас есть такой объект, как этот

 let object = {  name: 'Jim',  25: 'Age' }  

Вы можете получить доступ к свойствам следующим образом:

  • за name ключом … object.name или object['name'] .
  • за ключом 25 object[25] или object['25']

Это связано с тем, что свойства не могут начинаться с числа в js. Поэтому вы должны обращаться к ним с помощью скобок.