# 语句块
16.1 用大括号包裹多行代码块。 eslint:
nonblock-statement-body-position(opens new window)// bad if (test) return false; // good if (test) return false; // good if (test) { return false; } // bad function foo() { return false; } // good function bar() { return false; }16.2
if表达式的else和if的关闭大括号在一行。 eslint:brace-style(opens new window)// bad if (test) { thing1(); thing2(); } else { thing3(); } // good if (test) { thing1(); thing2(); } else { thing3(); }16.3 如果
if语句中总是需要用return返回, 那后续的else就不需要写了。if块中包含return, 它后面的else if块中也包含了return, 这个时候就可以把return分到多个if语句块中。 eslint:no-else-return(opens new window)// bad function foo() { if (x) { return x; } else { return y; } } // bad function cats() { if (x) { return x; } else if (y) { return y; } } // bad function dogs() { if (x) { return x; } else { if (y) { return y; } } } // good function foo() { if (x) { return x; } return y; } // good function cats() { if (x) { return x; } if (y) { return y; } } // good function dogs(x) { if (x) { if (z) { return y; } } else { return z; } }