Search code examples
javascriptobjectpropertiessyntax-errornotation

How to access object property beginning with a number (SyntaxError: Unexpected identifier)


I have an object within another object, which im trying to get the value but it always returns "unexpected identifier".

snow: Object {3h: 1.3}

console.log(data.snow.3h) //returns Uncaught SyntaxError: Unexpected identifier

console.log(data.snow) //returns Object {3h: 1.3}

So how can i get the value of 3h ?


Solution

  • data.snow['3h'];
    

    Properties accessed with dot notation can't begin with a number.

    snow: Object {3h: 1.3} could be refactored to snow: {3h: 1.3}. It is redundant to type Object.

    Also, if you wrap your property names in quotes, you can use bizarre property names like:

    var myObj = {
      '^': 'foo'
    };
    console.log(myObj['^']);
    

    but, I generally stick to more standard names that I can access with dot notation.