什么是“故障软解构”?

问题描述 投票:0回答:1

在Babel网站上,我在解构的范围内找到了以下demo:

// Fail-soft destructuring
var [a] = [];
a === undefined; 

用 Babel 转译这段代码后,我在 ES5 中得到以下结果:

"use strict";

var _ref = [];
var a = _ref[0];

故障软解构的用途是什么?转译语法背后的逻辑是什么?为什么 Babel 以这种方式转译 ES6 代码,而不是仅仅将 undefined 分配给变量?

javascript ecmascript-6 destructuring
1个回答
1
投票

看看当您向示例中添加更多内容时会发生什么:

var [a, b, c] = [];

转换为:

"use strict";

var _ref = [];
var a = _ref[0];
var b = _ref[1];
var c = _ref[2];

a
获得第一件事,
b
获得第二件事,依此类推。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.