我构建了一个函数,该函数在其主体内使用逗号分隔的表达式以及在这些表达式之间传递的某些变量,例如:
let y = 3;
const square = x => (y = x ** 2, y);
console.log(square(2), y);
我知道,我可以简单地x => x**2
,上面的代码仅用于示例
对我来说,问题是y
是在全局范围内声明的(我不想弄乱),而我可以在square
主体之外访问该变量(例如{{1} });
我的第一个怀疑是箭头语法问题,但是
console.log(y)
导致相同的问题。
我还试图限制let y = 3;
function square2(x) {
return (y = x ** 2, y)
};
console.log(square2(2), y);
的范围:
y
它会抛出
未捕获的SyntaxError:意外的令牌const
正如预期的那样。 所以,我的问题是:
?