我认为这是因为代码可读性.
考虑这两个代码,其中a是一个数字(int,float,或其他):
#1
if(a < 0) {
a = 0;
} else if(a < 10) {
a = 10;
} else if(a < 20) {
a = 20;
} else if(a < 30) {
a = 30;
}
Run Code Online (Sandbox Code Playgroud)
#2
a = a < 0 ? 0 : a < 10 ? 10 : a < 20 ? 20 : a < 30 ? 30 : a;
Run Code Online (Sandbox Code Playgroud)
他们完全一样,但第一个更清楚.