在Babel网站上,我发现了以下破坏范围的演示:
// Fail-soft destructuring
var [a] = [];
a === undefined; 在使用Babel转除这段代码之后,我在ES5中得到了以下结果:
"use strict";
var _ref = [];
var a = _ref[0];什么是失效软破坏的用途,以及转换语法背后的逻辑是什么?编辑:为什么Babel以这种方式转换ES6代码,而不只是将undefined分配给变量呢?
编辑:我明白了,我想它只是将变量值放入undefined,而不是抛出错误。不过,对转移溢出逻辑仍有一些疑问。
发布于 2015-10-05 20:31:59
看看在示例中添加更多内容时会发生什么:
var [a, b, c] = [];转到:
"use strict";
var _ref = [];
var a = _ref[0];
var b = _ref[1];
var c = _ref[2];a得到了第一件事,b得到了第二件事,等等。
https://stackoverflow.com/questions/32957212
复制相似问题