if (list != null || list.size() > 0) {
...
} else {
...
}
프로젝트중 이런 코드를 사용하는 것을 발견...
list의 null여부를 체크하고 있는데, 위의 코드는 list가 []로 선언되어 있으면, 뒤의 list.size() > 0 조건은 판단하지 않고, true영역의 코드를 실행 시킨다.
이미 알고는 있었지만, 이를 단축평가(short-circuit)라고 부르는지는 처음 알았다.
결과적으로,
OR연산자를 사용할 땐 true를 리턴할 가능성이 높은 조건을 첫 번째로 작성하고,
AND연산자에선 false를 리턴할 가능성이 높은 조건을 조건을 첫번째로 작성하면 좋다.
이를 이용해 이런식으로도 표현 가능
return name || "없으면 이것";
|| 로 묶여 있어서 앞의 name이 존재한다면 name을 return하고, 뒤의 조건은 신경쓰지 않는다.
name이 없으면 뒤의 string은 무조건 true이므로 "없으면 이것"을 반환한다.
'IT' 카테고리의 다른 글
yarn intall --offline 시 unable to verify the first certificate 오류 (0) | 2020.11.10 |
---|---|
JAVA line:0 Internal compiler error: Classcast exception(feat, 이클립스, 롬복 호환성) (0) | 2020.09.02 |
v-if vs v-show (0) | 2020.06.19 |
[디자인패턴]단일 책임 원칙(Single Responsibility Principle) (0) | 2020.04.27 |
[springBoot] web Access LocalHost는 되는데, 127.0.0.1은 안 됨 (0) | 2020.04.20 |