我正在使用:
MyTestFunction() && ExecuteMe();
快速简便的条件执行。我想通过创建:
来在某些地方更多地提高代码可读性单线卫士身份I.E:
MyTestFunction() && return;
//prevent execution of function early, but this isn't possible
单行变量setter:
MyTestFunction() && myVar = 5;
(我知道我可以做myVar = MyTestFunction() || 5
;但那不是我想要的)
任何人都能看到一个很好的方式吗?
答案 0 :(得分:3)
这对我有用:
var num;
TestFunc() && (num = 5);
答案 1 :(得分:1)
虽然我理解程序员天生希望用更少的代码行做更多的事情,但我认为这违反了一些关于代码清晰度的良好编程原则。 Terse代码可以节省空间,但是对于下一个查看代码的程序员来说,维护会更加困难(而且你应该总是假设会有一个“下一个程序员”)。
答案 2 :(得分:1)
MyTestFunction() && (myVar = 5); // note the parens
// has the same effect as
if (MyTestFunction()) myVar = 5;
但我认为后者更具可读性,因此更容易维护。
答案 3 :(得分:0)
我相信你想要使用三元声明
好线程在这里: Operator precedence with Javascript Ternary operator