Search code examples
javascriptsyntax-errorconsole.logobject-literal

Javascript - SyntaxError: Invalid or unexpected token - while creating object - Invisible character


I was reading the article on Javascript Objects (http://javascriptissexy.com/javascript-objects-in-detail/), so I copy-pasted the following code into my Notepad++ and ran it in Chrome(Version 55.0.2883.87 m). Upon opening the console, console reports SyntaxError. Does someone have an idea why? Everything seems ok.

// We have been using dot notation so far in the examples above, here is another example again:​
​var book = {title: "Ways to Go", pages: 280, bookMark1:"Page 20"};
​
​// To access the properties of the book object with dot notation, you do this:​
console.log(book.title); // Ways to Go​
console.log(book.pages); // 280

Solution

  • If you copy everything you just pasted and write it in the console, you would see that there are some unicode characters (\u200b) in your code which are actually the Invalid or unexpected token in the error that you are getting, you don't see them because they are zero-width spaced, so just remove them and the code would run perfectly as shown below

    // We have been using dot notation so far in the examples above, here is another example again:
    var book = {title: "Ways to Go", pages: 280, bookMark1:"Page 20"};
    
    // To access the properties of the book object with dot notation, you do this:
    console.log(book.title); // Ways to Go
    console.log(book.pages); // 280

    You can find more about the zero width space character here: http://www.fileformat.info/info/unicode/char/200b/index.htm