AND 연산자와 피연산자가 여러 개인 경우를 살펴봅시다.
AND 연산자 &&
는 아래와 같은 순서로 동작합니다.
false
이면 평가를 멈추고 해당 피연산자의 변환 전 원래 값을 반환합니다.true
로 평가되는 경우)엔 마지막 피연산자가 반환됩니다.정리해 보자면 이렇습니다. AND 연산자는 첫 번째 falsy를 반환합니다. 피연산자에 falsy가 없다면 마지막 값을 반환합니다.
위 알고리즘은 OR 연산자의 알고리즘과 유사합니다. 차이점은 AND 연산자가 첫 번째 falsy를 반환하는 반면, OR은 첫 번째 truthy를 반환한다는 것입니다.
예시:
`// 첫 번째 피연산자가 truthy이면, // AND는 두 번째 피연산자를 반환합니다. alert( 1 && 0 ); // 0 alert( 1 && 5 ); // 5
// 첫 번째 피연산자가 falsy이면, // AND는 첫 번째 피연산자를 반환하고, 두 번째 피연산자는 무시합니다. alert( null && 5 ); // null alert( 0 && "아무거나 와도 상관없습니다." ); // 0`
AND 연산자에도 피연산자 여러 개를 연속해서 전달할 수 있습니다. 첫 번째 falsy가 어떻게 반환되는지 예시를 통해 살펴봅시다.
alert( 1 && 2 && null && 3 ); // null
아래 예시에선 AND 연산자의 피연산자가 모두 truthy이기 때문에 마지막 피연산자가 반환됩니다.
출처 : https://ko.javascript.info/logical-operators#ref-541
isNew && <div> isNew가 true일때 반환 </div>