巴贝尔的八进制数

时间:2016-03-11 15:28:10

标签: javascript ecmascript-6 babeljs octal

我正在玩babel-cli。我安装了ES2015扩展,效果很好。例如,以下代码段:

let square = x => x * x;

...转换为:

"use strict";

var square = function square(x) {
  return x * x;
};

但是在使用八进制数时我遇到了麻烦。例如:

let mode = 0777;

给我一​​个错误:

SyntaxError: index.js: Invalid number (1:11)
> 1 | let mode = 0777;
    |            ^

  2 |

看起来它不喜欢以0开头的数字(八进制数字)。我该如何解决这个问题?

事实上,这些数字不会出现在我的代码中,而是出现在其中一个依赖项中。

这是一个babel bug还是一个功能?什么是变通方法/解决方案?

1 个答案:

答案 0 :(得分:3)

你做得不对,应该是let mode = 0o777;,注意 0 777 之间的 o

此处的ES6文档:Binary and Octal Literals

// try this in chrome
document.write(0o777);