Я все время вижу это: литералы объектов объявляются такими, что некоторые ключи окружены кавычками, а другие - нет. Пример из jQuery 1.4.2:
jQuery.props = {
"for": "htmlFor",
"class": "className",
readonly: "readOnly",
maxlength: "maxLength",
cellspacing: "cellSpacing",
rowspan: "rowSpan",
colspan: "colSpan",
tabindex: "tabIndex",
usemap: "useMap",
frameborder: "frameBorder"
};
Каково значение обертывания первых двух ключей свойств ( for
и class
) кавычками, а остальные - без цитат? Существуют ли какие-либо различия?
Я прокрутил спецификацию ECMAScript 5; все, что я смог найти, - это [Примечание 6 раздела 15.12.3, акцент мой]:
ПРИМЕЧАНИЕ 6 Объект отображается как открытие левой скобки с последующим нулем или больше свойств, разделенных запятыми, закрытыми с правой скобой. свойство - цитированная строка представляя ключ или имя свойства, толстой кишки, а затем стоимость имущества. Массив отображается в качестве открытой левой скобки, за которой следует ноль или более значений, разделенных запятыми, закрытыми правой скобкой.
Однако это относится только к строковому расширению JSON.