자바스크립트엔 세 종류의 논리 연산자 ||(OR), &&(AND), !(NOT)이 있습니다.
result = a || b;
인수 중 하나라도 true이면 true를 반환하고, 그렇지 않으면 false를 반환
피연산자가 모두 false인 경우를 제외하고 연산 결과는 항상 true입니다.
피연산자가 불린형이 아니면, 평가를 위해 불린형으로 변환됩니다.
if (1 || 0) { // if( true || false ) 와 동일하게 동작합니다.
alert( 'truthy!' );
}
자바스크립트에서만 제공하는 논리연산자 OR의 '추가’기능이 있다.
OR 연산자와 피연산자가 여러 개인 경우:
result = value1 || value2 || value3;
중요한 점은 반환 값이 형 변환을 하지 않은 원래 값이라는 것입니다.
예시 :
alert( 1 || 0 ); // 1 (1은 truthy임)
alert( null || 1 ); // 1 (1은 truthy임)
alert( null || 0 || 1 ); // 1 (1은 truthy임)
alert( undefined || null || 0 ); // 0 (모두 falsy이므로, 마지막 값을 반환함)
let firstName = "";
let lastName = "";
let nickName = "바이올렛";
alert( firstName || lastName || nickName || "익명"); // 바이올렛
OR ||을 사용하면 실제 값이 들어있는 변수를 찾고, 그 값을 보여줄 수 있습니다. 변수 모두에 값이 없는 경우엔 익명를 보여줍시다.