Я столкнулся с одним из тех моментов, когда просто теряю фокус и начинаю задумываться над глупым вопросом:
var a = {
b: "value"
}
Что такое typeof 'b', и я имею в виду не typeof "value", а фактический ключ, помеченный как b?
background: Я начал задумываться об этом, когда мне пришлось создать ключ, представляющий собой строку:
var a = {
"b": "value"
}
, потому что позже он упоминается как:
a["b"]
И затем мне стало интересно задавать исходный вопрос.
В буквальном смысле объекта b
является свойством. Свойства представляют собой либо строки, либо символы в JavaScript, хотя при определении имени свойства внутри литерала объекта вы можете опустить разделители строк.
for (key in a) {
alert(typeof key);
//-> "string"
}
b — это строка, это просто сокращенный синтаксис, поэтому вы пишете
var a = {
b: "value"
}
вместо
var a = {
"b": "value"
}