JavaScript单行'if'语句 - 最佳语法,这个替代方案?[已关闭]

2022-08-30 00:10:19

尽管有意见不一样,但已经明确指出,在单行语句上放弃大括号对于可维护性和可读性并不理想。if

但是这又如何呢?

if (lemons) { document.write("foo gave me a bar"); }

它甚至更加压缩,如果扩展,大括号不会被遗忘。是否有任何明显的问题,如果没有,需要考虑什么?我觉得它仍然非常可读,至少与三元运算符一样多。在我看来,由于可读性,三元运算符并没有被建议那么多,尽管我觉得这个结论并不是那么一致。

我内心的邪恶双胞胎想要提出这个建议,尽管语法显然不适合它,而且可能只是一个坏主意。

(syntax) ? document.write("My evil twin emerges"): "";

答案 1

我已经看到了操作员用于实现这一目标的短路行为,尽管不习惯这一点的人可能会发现很难阅读,甚至称之为反模式:&&

lemons && document.write("foo gave me a bar");  

就个人而言,我经常使用不带括号的单行,如下所示:if

if (lemons) document.write("foo gave me a bar");

如果我需要添加更多语句,我会将这些语句放在下一行并添加括号。由于我的IDE执行自动缩进,因此对这种做法的可维护性反对意见是没有意义的。


答案 2

我这样使用它:

(lemons) ? alert("please give me a lemonade") : alert("then give me a beer");