JavaScript var表达式是否返回undefined?

JavaScript表达式会返回什么内容吗?

在Node.js REPL中:

> console.log("Hello World")
Hello World
undefined

undefined是JavaScript函数返回.因为JavaScript函数总是返回一些东西.

但是当我尝试在REPL中定义一个变量时:

> var x = 11
undefined

还会打印一个未定义的. JavaScript var表达式是否也会返回一些内容?

最佳答案 是的,所有JavaScript语句都有结果,虽然它通常很无用,只能使用eval函数 – 至少在
do expressions之前会添加到语言中.例如.

>>> eval("if (true) 4; else 5;")
4
>>> eval("if (true) 4; else 5;")
5
>>> eval("for (let i = 0; i < 10; i++) 7")
7
>>> eval("for (let i = 0; i < 10; i++) {}")
undefined
>>> eval("var express = 4")
undefined

依此类推,确切的值在语言规范中指定.

点赞