从数字转换为string在Javascript中给出奇怪的数字

所以我看到了这个奇怪的场景。 我想在Node.js中将一个数字转换为一个string,我得到了以下内容。

01010100132.toString() 

变成

 "136347738" 

谁可以给我解释一下这个?

任何以0开头的数字常量都是一个八进制文字(假定所有数字都是有效的八进制数字)。

 var i = 010; // 8 decimal