JavaScript中声明多个变量的更简洁方法?

23

在React Native中,是否有一种更快/更高效的方式声明多个变量?而不是

let foo = 'foo';
let bar = 'bar';
let foobar = 'foobar';

对于三个变量,显然不是问题,但对于更大的变量集合,有更好的方法吗?


可能是在JavaScript中声明多个变量的重复问题。 - gnzg
2个回答

33

"更快"?你确定这里有性能瓶颈吗?!

无论如何,您可以声明多个变量:

let foo    = 'foo'
  , bar    = 'bar'
  , foobar = 'foobar'
  ;

但这只是JS语法-这就是你真正想问的吗?

如果您有大量相关变量,问题可能更为系统化,并且存在多种重构类型可以帮助解决问题。

更新:我曾经像这样声明变量,但现在不再这样做。


4
不是性能瓶颈,而是为了节省时间,避免反复输入“let”这几个字。我知道这是基本的JavaScript变量声明方式,但不确定在React Native / JSX中是否语法相同,而且谷歌搜索并没有找到太多相关信息。 - Robert Schillinger
5
这里的回答过于冗长,相对于问题来说简单了很多,你觉得呢? - Sean Lindo
@SeanLindo 哦,是啊。我本来可以做得更好的。不过我并没有花太多时间考虑语法、代码美学之类的问题 :D ... :/ ... :'( - Dave Newton
你好,我可以问一下为什么你不再像这样声明变量了吗? - aanhlle
@aahlle 不要这样做;改用多个“let”语句。当我写这篇文章时,我写的是更多的Elixir而不是JS。 - Dave Newton

18

这更像是一个通用的 JavaScript 语法问题。

根据您的用例,您可以使用以下方式解构数组:

const [foo, bar, foobar] = ['foo', 'bar', 'foobar']

请注意这些是常量,将大量变量放在作用域中会使其难以阅读。详情请参见此处


5
我不认为仅为了解构而进行解构是最清晰的代码方式,这真的分离了引用和它的值,并且如果引用数量很多,会强制产生相当大的认知负担。 - Dave Newton
在我看来,解决方案不是避免解构,而是避免高数量的引用。然而,这使得解构变得不那么必要。 - maaartinus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接