js从一个函数重新分配一个值给多个已经声明的变量[重复]

Posted

技术标签:

【中文标题】js从一个函数重新分配一个值给多个已经声明的变量[重复]【英文标题】:js reassign a value to multiple already declared variables from a function [duplicate] 【发布时间】:2021-07-24 18:08:42 【问题描述】:

我需要重新分配两个不同变量的值。我的代码是这样的:

const func = () => 
    do something;
    return a, b

然后我在 if/else 块之外用 let 声明这两个变量:

let a = b = '';

在 if/else 中,我需要将函数返回的值赋给两个变量:

if(condition) 
   a, b = func();

如何将函数返回的值重新分配给变量?

【问题讨论】:

这能回答你的问题吗? Return multiple values in javascript? 和:***.com/questions/29044427/… 它在声明变量时有效,但问题是我需要在 if/else 块之外声明它们,而在内部我需要重新分配函数的值。由于某些原因,它给了我一个错误 【参考方案1】:

您只需在赋值周围添加括号,即可将其解析为表达式而不是块。 MDN 给出了这个例子:

let a, b;
(a, b = a: 1, b: 2);

所以你需要

// For example
let a, b;
const func = () => (a: 1, b: 2);
(a, b = func());

【讨论】:

【参考方案2】:

你说的是错误,我们没看到,下次请发https://***.com/help/minimal-reproducible-example。

这是可以做到的:

const func = () => 
  return ["a", "b"]


let a, b

if (true) 
  const res = func()
  a = res[0]
  b = res[1]
  console.log(a)
  console.log(b)

【讨论】:

那是两次调用函数,这是不可取的。 @Bergi 对不起,我的主,现在好点了吗?

以上是关于js从一个函数重新分配一个值给多个已经声明的变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

java变量类型

ESLint prefer-const 规则声明变量应该是 Const,即使它被重新分配

js重名的处理

计数行变量的值给我 undefined 虽然我分配了它?

[JavaScript]解构赋值详解

从函数调用分配多个返回值的性能[重复]