我需要使用很多跟随长变量名的表达式。
if (a) b = a;
有没有Javascript更短的方法如何写这个?
答案 0 :(得分:4)
它并没有比这短得多,有些人在你的问题的评论中帮助稍微提出了一些替代方案,尽管关于可维护性与可读性的关系也是一个很好的问题。
那就是说,我想如果你的变量名很长,就像你说的那样,那么通过提及每个变量名一次就可以减少它。例如你的例子在实践中可能是:
if (really_really_really_really_long_var_a) really_really_really_really_long_var_b = really_really_really_really_long_var_a;
我想我可以看到这有点令人讨厌,如果做得很多,甚至有点难以理解。
我能想到的最好是声明一个小帮手功能,或许:
var equate = function(a, b) {
if (a) b = a;
}
然后你的长线可以缩短一点,因为你只需要提一次变量,例如。
equate(really_really_really_really_long_var_a, really_really_really_really_long_var_b);
我不完全确定我喜欢它,但是如果它缩短了代码并保持了一定程度的可读性,那么由您自行决定,那么它可能会有所帮助吗?