Sec*_*ret 3 if-statement block operators ternary-operator
我想知道:"三元运算符什么时候比使用'if-else'块更差?"
我想,它可能是调试时间(例如三元运算符不适合调试)
这样的美容有用吗?也许在某些情况下,简单的if-else块更适合使用?
谢谢
当您想要有条件地评估两个简单表达式中的一个并使用结果做一些简单的事情时(例如将其分配给变量或返回它),三元运算符很有用.像这样的东西是三元运算符的可接受用法:
var status = a.isActive() ? a.status : defaultStatus;
Run Code Online (Sandbox Code Playgroud)
如果您的代码比这更复杂,那么使用if语句通常更清楚,否则您可能会冒险尝试在单行代码中执行太多操作.这不仅仅是为了便于调试 - 具有复杂表达式的长线很难理解.
在许多语言中,不允许在表达式中使用语句(而不是表达式)? :.如果您需要执行一系列语句,那么除了使用if语句之外别无选择.