es6代码剪切不明确

时间:2017-08-07 08:22:14

标签: javascript ecmascript-6 ecmascript-5

我需要使用这个代码,我们有ES lint的问题,它给红色作为关键字const的规则(我知道如何克服这个)但我不确定我真的理解这个代码,我的问题是它是怎么回事应该用ES5编写(而不是const,因为它有两个参数...)

const {code, warnings} = bab.transform('var f = function(){};', ['let', 'arrow']);

我尝试使用var等没有成功

我也试过与babel做相反的事情而没有成功

http://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=react%2Cstage-2&targets=&browsers=&builtIns=false&debug=false&experimental=false&loose=false&spec=false&code_lz=MYewdgzgLgBA3qAJgUwDQwO4EMBOYCWYA5hAL4wC8MANsgEZZ0B0UOWkAZiDgLYAUAcgBuuGB0piArmGBR84PgEo4pANwD0AbQG0oGmANw4QGAQF1FqoA&playground=true

1 个答案:

答案 0 :(得分:2)

这是解构分配。在ES5中它看起来像这样:

var result = bab.transform('var f = function(){};', ['let', 'arrow']);
var code = result.code;
var warnings = result.warnings;

(显然,虽然ES2015代码没有result变量。)或者如果你想要的东西不会留下result变量:

var code, warnings;
(function() {
    var result = bab.transform('var f = function(){};', ['let', 'arrow']);
    code = result.code;
    warnings = result.warnings;
})();