【问题标题】:Shorthand or sugar for declaring multiple variables with same value?用于声明具有相同值的多个变量的速记或糖?
【发布时间】:2020-11-10 05:11:59
【问题描述】:

我想知道 ES6 或 Babel 中是否有简写来声明具有相同值的多个变量,例如在 React 中使用多个 ref 时:

const a = React.useRef();
const b = React.useRef();
const c = React.useRef();
const d = React.useRef();
....

但在 vanilla JS 中,当声明具有多个值为 null 的键的对象时:

const obj = { a: null, b:null, c:null, d:null }

所以我想也许有类似的东西

const a, b, c, d, = React.useRef();

谢谢

【问题讨论】:

  • let [a, b, c, d] = Array(4).fill(2); 可能不是最好的
  • 如果你想要原语,这很容易...let a, b, c, d; a = b = c = d = null; 但是这个技巧对对象不起作用,因为它们都是指向同一个对象的指针,改变一个会改变所有的对象。

标签: javascript reactjs syntactic-sugar shorthand


【解决方案1】:

没有完整的速记,但你可以通过这样写来让它变得简单一点-

let [a,b,c,d] =  [React.useRef(),React.useRef(),React.useRef(),React.useRef()]

这至少会将这些代码压缩成一行。

【讨论】:

  • 右手边可以简化为 [...Array(4)].map(React.useRef)
【解决方案2】:

这对你有用吗?

const a=b=c="some value";

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 2012-02-29
    • 2014-01-06
    相关资源
    最近更新 更多