[CS] 짧은 순회 평가(Short circuit evaluation)
Short circuit evaluation
논리연산을 할 때 왼쪽 식부터 차례대로 논리평가를 하다가 만약 결과가 false일 경우 우측에 있는 식을 검증하지 않고 끝나는 것을 뜻한다. 왜 이런 것이 있을까 생각해보면 답은 간단하다. 이미 논리연산의 결과가 나왔기에 남은 논리평가를 실행할 이유가 없기 때문이다.
if(v[0] != 0 && v[3] == 5){}
v의 length가 0일경우 만약 우측 논리 평가를 한다면 에러가 나올 테지만 v[0]이 0일 경우 false가 되고 AND(&&)연산자라 우측이 true,false 뭐가 되든 false일 테니 우측은 볼필요 없기에 생략한다.
이렇듯 뒤의 계산의 결과 값이 어떻든 이미 값이 정해져서 논리평가를 생략하는 것이 짧은 순회 평가다.
발생하는 경우
- false
&&
true or false - true
&&
true or false - false
||
true or false - true
||
true or false
빨간색 포인트가 생략되는 부분이다.
댓글남기기