Take his for example:
Looks an awful lot like an object definition with an immediate access to the title property, doesn’t it? Well try to run it.
Huh? “title”? The problem is that this statement is ambiguous: It could either mean “Create object title set to Hello World” or “Code block with label title and string Hello World”. The meaning of [‘title’] then would mean “Access title property” for the first interpretation and “Create new Array with string title”. In this case, the second meaning is chosen and [‘title’] turns into the string “title” during output.
What do we learn from this? Don’t forget to quote the identifiers, don’t hold back on brackets and don’t forget the semicolon: