Single quotes in JavaScript object literal

前端 未结 4 2150
渐次进展
渐次进展 2020-12-21 05:16

I\'m looking at the Google Maps API tutorial, and I see this:



        
相关标签:
4条回答
  • 2020-12-21 05:49

    The currently accepted answer is incorrect — reserved words are valid identifier names, so they’re allowed as unquoted property names in JavaScript.

    From Unquoted property names / object keys in JavaScript, my write-up on the subject:

    Quotes can only be omitted if the property name is a numeric literal or a valid identifier name.

    […]

    Bracket notation can safely be used for all property names.

    […]

    Dot notation can only be used when the property name is a valid identifier name.

    I also made a tool that will tell you if any given property name can be used without quotes and/or with dot notation. Try it at mothereff.in/js-properties.

    0 讨论(0)
  • 2020-12-21 05:51

    In fact, in most JSON implementations (because it's actually a JSON string), like jQuery's getJSON, it's obligatory to put all strings, whether they represent values or properties, within double-quotes.

    0 讨论(0)
  • 2020-12-21 06:03

    It's not required unless:

    1. The property is named the same as a keyword/reserved
    2. The property has special chars
    3. The object is intended to be used as JSON
    0 讨论(0)
  • 2020-12-21 06:04

    It's a good practice to wrap keys in quotes, even though not strictly required, in order to avoid the possibility of conflicts with JavaScript reserved words.

    Imagine if you had class instead of modules - class happens to be a reserved word in JavaScript, even though it is not actually used in the current specification.

    0 讨论(0)
提交回复
热议问题