Javascript JS如何使用单行设置范围外的值
如果函数Javascript JS如何使用单行设置范围外的值,javascript,typescript,scope,Javascript,Typescript,Scope,如果函数calculateAvgGainLoss响应包括avgGain、avgLoss我们可以这样得到这些值 const { avgGain, avgLoss } = calculateAvgGainLoss(prices); 我想将这些值设置为在函数外部定义的变量。我该怎么做?下面的例子 describe("test", () => { let avgGain: number, avgLoss: number; it("Calculate average gain &
calculateAvgGainLoss
响应包括avgGain、avgLoss
我们可以这样得到这些值
const { avgGain, avgLoss } = calculateAvgGainLoss(prices);
我想将这些值设置为在函数外部定义的变量。我该怎么做?下面的例子
describe("test", () => {
let avgGain: number, avgLoss: number;
it("Calculate average gain & loss", () => {
const prices = [...];
/*...This isn't working, has to be changed...*/ { avgGain, avgLoss } = calculateAvgGainLoss(prices);
expect(avgGain).toBe(0.24);
expect(avgLoss).toBe(0.1);
});
});
以
{
开头的行会混淆解析器(它是作用域的开头吗?对象?等等)。只需用括号将行括起来即可绕过此问题:
describe("test", () => {
let avgGain: number, avgLoss: number;
it("Calculate average gain & loss", () => {
const prices = [...];
({ avgGain, avgLoss } = calculateAvgGainLoss(prices)); // <--
expect(avgGain).toBe(0.24);
expect(avgLoss).toBe(0.1);
});
});
描述(“测试”,()=>{
设avgGain:number,avgLoss:number;
它(“计算平均损益”,()=>{
常数价格=[…];
({avgGain,avgLoss}=calculateAvgGainLoss(prices));//以{
开头的行会混淆解析器(它是范围的开始吗?对象?等等)。只需用括号括住行即可:
describe("test", () => {
let avgGain: number, avgLoss: number;
it("Calculate average gain & loss", () => {
const prices = [...];
({ avgGain, avgLoss } = calculateAvgGainLoss(prices)); // <--
expect(avgGain).toBe(0.24);
expect(avgLoss).toBe(0.1);
});
});
描述(“测试”,()=>{
设avgGain:number,avgLoss:number;
它(“计算平均损益”,()=>{
常数价格=[…];
({avgGain,avgLoss}=calculateAvgGainLoss(价格));//事实上,我在询问之前已经尝试过这种方法,但这次我得到了“变量”…“在被分配”错误之前被使用。我不明白-请提供一个链接它按预期工作。我的错误抱歉。谢谢你的帮助事实上我在询问之前已经尝试过这种方法,但这次我得到了“变量”…“是吗sed在被分配之前的错误。我不明白-请提供一个链接。它按预期工作。我的错误很抱歉。谢谢您的帮助