Что за тип «ключей» в JavaScript?

Я столкнулся с одним из тех моментов, когда просто теряю фокус и начинаю задумываться над глупым вопросом:

var a = {
  b: "value"
}

Что такое typeof 'b', и я имею в виду не typeof "value", а фактический ключ, помеченный как b?

background: Я начал задумываться об этом, когда мне пришлось создать ключ, представляющий собой строку:

var a = {
  "b": "value"
}

, потому что позже он упоминается как:

a["b"]

И затем мне стало интересно задавать исходный вопрос.

24
задан Daniel Vassallo 31 August 2010 в 11:20
поделиться

2 ответа

В буквальном смысле объекта b является свойством. Свойства представляют собой либо строки, либо символы в JavaScript, хотя при определении имени свойства внутри литерала объекта вы можете опустить разделители строк.

for (key in a) {
    alert(typeof key);
    //-> "string"
}
27
ответ дан 28 November 2019 в 23:34
поделиться

b — это строка, это просто сокращенный синтаксис, поэтому вы пишете

var a = {
    b: "value"
}

вместо

var a = {
  "b": "value"
}
2
ответ дан 28 November 2019 в 23:34
поделиться
Другие вопросы по тегам:

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