Одиночные кавычки против без кавычек? - PullRequest
2 голосов
/ 19 января 2011

Это то, что меня смущало какое-то время, иногда я вижу, как люди пишут объекты javascript, например, с одинарными кавычками:

{
    'name': 'Teddy',
    'last': 'Monster'
}

Но потом я также вижу более распространенное, нетпараметры кавычки:

{
    name: 'Teddy',
    last: 'Monster'
}

Есть ли причина, по которой можно использовать одинарные кавычки?Разве он быстрее разбирается?

Из того, что я вижу, разницы в скорости нет, скорее просто загромождение файла ненужными кавычками и увеличение размера файла.

Я передумаю, еслиЯ могу получить прямой ответ:)

Ответы [ 4 ]

3 голосов
/ 19 января 2011

Вы не можете определить этот хеш:

{
   function: 'foo'
}

Но вы можете определить

{
   'function': 'foo'
}

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

1 голос
/ 19 января 2011

Быстрый поиск в Google находит этот ответ на этом самом веб-сайте . По сути, нет никакой функциональной разницы, если вы говорите об объектных литералах, но свойства не могут быть зарезервированы такими словами, как «класс» или «пространство имен». Завершение свойства в кавычки позволяет использовать эти слова

1 голос
/ 19 января 2011

Технически вторая форма недопустима согласно спецификации JSON , но она отлично работает во всех основных движках Javascript.

0 голосов
/ 19 января 2011

Одинарные кавычки позволяют вам использовать любую допустимую строку , включая зарезервированные ключевые слова или символы, которые будут недопустимы в идентификаторе

Пример:

{
  'return' : 'ok',
  'with-hyphen' : '123'
}
...