小编ccf*_*ard的帖子

为什么ES6代码和ES5代码在Babel.js编译后有不同的结果?

ES6代码:

let foo = 'outer';

function bar(func = x => foo){
    let foo = 'inner';
    console.log(func());
}
bar(); // outer
Run Code Online (Sandbox Code Playgroud)

结果是"外部".

Babel.js编译的ES5代码:

'use strict';

var foo = 'outer';

function bar() {
    var func = arguments.length <= 0 || arguments[0] === undefined ? function (x) {
        return foo;
    } : arguments[0];

    var foo = 'inner';
    console.log(func());
}
bar(); // inner
Run Code Online (Sandbox Code Playgroud)

结果是"外部".

我不知道他们为什么会有不同的结果.

javascript ecmascript-6 babeljs

6
推荐指数
1
解决办法
65
查看次数

标签 统计

babeljs ×1

ecmascript-6 ×1

javascript ×1