Uncaught SyntaxError: Unexpected token instanceof (with Chrome Javascript console)
Uncaught SyntaxError: Unexpected token instanceof (with Chrome Javascript console)
我很惊讶在 Chrome js 控制台输入以下代码:
{} instanceof Object
导致此错误消息:
Uncaught SyntaxError: Unexpected token instanceof
任何人都可以告诉我这是为什么以及如何解决它吗?
如果你试试这个:
var a = {}
a instanceof Object
输出true
,这是预期的输出。
但是,在你的情况下
{} instanceof Object
以上不输出true
后者与第一个不同。在第一种情况下,我们创建了一个对象字面量,而在第二种情况下我们没有。因此你得到这个错误。
尝试
var p = {}
p instanceof Object
{}
,在那种情况下,是一个 块,而不是对象字面量。
您需要更改上下文(例如将其包装在 (
和 )
中)以使其成为对象文字。
({}) instanceof Object;
instanceof 的语法是:
RelationalExpression instanceof ShiftExpression
语句开头的标点符号{
被视为一个块的开始,因此下面的}
关闭块并结束语句。
后面的instanceof
运算符是下一条语句的开始,但是不能在开头,因为它前面必须有一个RelationalExpression,所以解析器大吃一惊。
您需要通过在语句的开头放置其他内容来强制 {}
被视为对象文字,例如
({}) instanceof Object
我很惊讶在 Chrome js 控制台输入以下代码:
{} instanceof Object
导致此错误消息:
Uncaught SyntaxError: Unexpected token instanceof
任何人都可以告诉我这是为什么以及如何解决它吗?
如果你试试这个:
var a = {}
a instanceof Object
输出true
,这是预期的输出。
但是,在你的情况下
{} instanceof Object
以上不输出true
后者与第一个不同。在第一种情况下,我们创建了一个对象字面量,而在第二种情况下我们没有。因此你得到这个错误。
尝试
var p = {}
p instanceof Object
{}
,在那种情况下,是一个 块,而不是对象字面量。
您需要更改上下文(例如将其包装在 (
和 )
中)以使其成为对象文字。
({}) instanceof Object;
instanceof 的语法是:
RelationalExpression instanceof ShiftExpression
语句开头的标点符号{
被视为一个块的开始,因此下面的}
关闭块并结束语句。
后面的instanceof
运算符是下一条语句的开始,但是不能在开头,因为它前面必须有一个RelationalExpression,所以解析器大吃一惊。
您需要通过在语句的开头放置其他内容来强制 {}
被视为对象文字,例如
({}) instanceof Object