与:crandb。
我有:
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;
答案 0 :(得分:1)
尝试:
({ L, H } = obj);
在使用不带声明的对象文字解构赋值时,赋值语句周围的圆括号
( ... )
是必需的语法。
{a, b} = {a: 1, b: 2}
是无效的独立语法,因为左侧的{a,b}被认为是一个块,而不是对象文字。不过,
({a, b} = {a: 1, b: 2})
和var{a, b} = {a: 1, b: 2}
都是有效的注意:您的
( ... )
表达式必须以分号开头,或者可以将其用于执行上一行的功能。