0

有人告诉我,除非必要,否则不要使用三元条件运算符 (?:)。

我的问题是,为什么?

我喜欢在编写 if/else 时使用三元运算符,每个语句只有一个语句。我认为这对我来说看起来更容易,而且更容易写。

同样,只有当它真的很短(if/else 的 1 行)时。我可以理解为什么嵌套和多重三元是邪恶的。

那么这种做事方式有什么问题呢?这完全是偏好问题还是有性能成本?

此外,每当我有超过 2 或 3 个 else 或 elseif 条件时,我通常使用 switch 语句。这是好习惯吗?

4

3 回答 3

3

我认为三级运营商没有问题(也从未听说过问题)。事实上,它使代码更简洁,除非读者是初学者,否则在我看来更清晰。

同样,switch它实际上只是一个抽象,更多的是关于清晰度。当我只依赖一个变量时,我使用 switch。如果您需要在每个案例中进行额外检查,那是很糟糕的,但您似乎已经非常清楚这些事情了。

于 2012-06-06T05:44:55.427 回答
1

我也看不出有什么问题。至于性能,这些类型的东西通常只是“语法糖”。基本上它在引擎盖下转换为相同的代码,所以它只是为了您的方便。当然,如果它最终使您的代码读/写变得不那么方便,那么就没有合理的理由使用它。

于 2012-06-06T05:49:18.137 回答
0

奇怪的是,我的前辈告诉我,只要您只是测试真假条件,就使用三元运算符,而且速度也更快。我同意。

但在多个条件的情况下,我总是更喜欢 if else 循环它很容易。

而且我从未使用过 switch 语句,因为 if else 可以为我完成这项工作。

   so ternary opertor are best for one line of if else and its easy and fast

唯一的原因是他们不喜欢 multiplte if else 是因为它对新用户来说变得复杂且容易出错

于 2012-06-06T05:52:57.943 回答