【发布时间】:2018-08-03 02:24:28
【问题描述】:
相关:How to fix Eslint error "prefer-destructuring"?。
我有:
method (v100) => {
let L,
H;
if (v100 <= 70) {
const obj = {L: 1, H: 2};
L = obj.L;
H = obj.H;
} else {
L = ((0.8353 * (v100 ** 2)) + (14.67 * v100)) - 216;
H = ((0.1684 * (v100 ** 2)) + (11.85 * v100)) - 97;
}
return ((L - 40) / (L - H)) * 100
}
改成
{ L } = obj;
{ H } = obj;
如答案中所写。但是现在我收到了一个意外的令牌错误。
应该也可以这样写吧?:
{ L, H } = obj;
【问题讨论】:
-
如前所述,它会引发意外的令牌错误
-
尝试
({ L, H } = obj);不将花括号视为块。 -
@destoryer 这已修复,谢谢!将其添加为答案并提供更多解释,我将接受并投票
-
@31piy 添加了更多代码以使错误可重现
-
为了简单起见,我真的建议使用
const obj = {L: 1, H: 2}; const {L, H} = v100 <= 70 ? obj : {L: 0.8353 * v100**2 + 14.67 * v100 - 216, H: 0.1684 * v100**2 + 11.85 * v100 - 97};
标签: javascript ecmascript-6 eslint