这是我刚才截的图,我就很奇怪啊,奇怪了很久,因为同样的代码放在 Node.js 的 REPL 中并不会报错。
我们看以下代码:
{
// Sample code
}
显而易见,这是一个代码块,但是如果我们把换行去掉:
{}
你还会认为这是一个代码块吗?你一定会认为这是一个 Object 。
但对于解释器来说,两者没有区别,后者仍然是一个代码块,只不过什么功能都没有。
结果显而易见了,但是怎么解决呢?我们只需要加上一个括号:
({}).toString() // [object Object]