Why is this JavaScript not interpreted as a code block when semi-colon is used?
问题 In Chrome version ^72 if I run the following JavaScript there are no errors. { prop: p } = { prop: 'prop' } >> { prop: 'prop' } So the line of code is interpreted as an expression statement, unexpectedly. But if I run the same code with a semi-colon at the end it runs as expected. { prop: p } = { prop: 'prop' }; >> Uncaught SyntaxError: Unexpected token = This is expected since the initial { tells the JavaScript engine that it is a code block unless we disambiguate with parentheses. Why does