使用谷歌浏览器(V8)时,Javascript可以被视为解释语言吗?

我正在阅读这篇关于V8的优秀文章,谷歌的Javascript引擎:https://developers.google.com/v8/design#mach_code.

有一次,他们说Javascript直接编译成机器语言,没有任何字节码或解释器.

报价:

V8 compiles JavaScript source code directly into machine code when it
is first executed. There are no intermediate byte codes, no
interpreter.

那么,为什么Javascript仍然与“脚本”和“解释”语言一起列出,当它被清楚地编译时(至少在V8中)?

编辑:我可以以某种方式创建一个Javascript的可执行文件,如果它被编译?这需要以某种方式将其链接到V8?

考虑到这个问题,我发现了这个引用:

V8 can run standalone, or can be embedded into any C++ application.

这里:http://code.google.com/p/v8/.

最佳答案
这就是为什么“解释语言”和“编译语言”是草率术语的例子.语言是编译还是解释是实现的属性,而不是语言本身.

许多人将“动态类型语言”(如JavaScript)与“已解释”和“静态类型语言”混淆为“已编译”,但这些仅仅是相关而不是绝对.编译动态语言是可能的(虽然它通常比编译静态语言更棘手),并且可以解释静态语言(例如:Hugs是Haskell的解释器).

转载注明原文:使用谷歌浏览器(V8)时,Javascript可以被视为解释语言吗? - 代码日志