Number.isInteger方法和Node.js版本

使用Node.js 4.5.0我得到了预期的行为

> console.log(Number.isInteger(42)) true 

但使用Node.js 0.10.36我得到了错误

 > console.log(Number.isInteger(42)) TypeError: Object function Number() { [native code] } has no method 'isInteger' 

我怎么知道哪个是使用Number.isInteger方法所需的最小版本的Node.js?

刷新Node.js CHANGELOG 文件后,我找不到任何相关信息。

编辑1: node.green显示该方法是从Node.js 0.12.16支持的。

编辑2:我也不能在V8 CHANGELOG中find任何相关的信息。

由于他们build议在他们的文档中进行Number.isInteger因此在版本0.12.16中支持 Number.isInteger。 虽然这不是最低版本,可能是0.12.3,它使用相同的V8引擎版本 。

编辑#1:在这个提交 V8 3.24.11发布,但Node.js只使用版本 0.11.13 V8 3.25.30.0。 此外,我做了一些testing(在Xubuntu 16.04):

Node.js v0.11.13 (V8 3.25.30.0)

 > Number.isInteger(42) true 

Node.js v0.11.12 (V8 3.22.24.19)

 > Number.isInteger(42) TypeError: Object function Number() { [native code] } has no method 'isInteger' at repl:1:8 at REPLServer.defaultEval (repl.js:130:27) at bound (domain.js:255:14) at REPLServer.runBound [as eval] (domain.js:268:12) at REPLServer.<anonymous> (repl.js:277:12) at REPLServer.EventEmitter.emit (events.js:104:17) at REPLServer.Interface._onLine (readline.js:202:10) at REPLServer.Interface._line (readline.js:531:8) at REPLServer.Interface._ttyWrite (readline.js:806:14) at ReadStream.onkeypress (readline.js:101:10) 

请注意,在Node.js v0.11.12中,V8 3.22.24.19低于3.24.11,即添加 Number.isInteger 。 因此,总而言之, Node.js v0.11.13是方法“isInteger”的最小版本。

Number.isInteger() 在ES6中定义 ; 它需要一个实现ES6的节点版本。

Number.isInteger()是在V8 3.26.30中添加的(见这里提到的这个提交),所以支持这个方法的最小版本的Node.js是0.12.0 。