JS에서 쓰이는 논리 연산자
1.||
OR
2. &&
AND
3. !
NOT
논리 연산자의 피연산자로 모든 타입의 값이 올 수 있다!
반환 값이 변환하기 전 원래 값, 즉 boolean형이 아니어도 된다!
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 name = "";
let nickName = "숭숭";
alert ( name || nickName || "익명"); // 결과 -> 숭숭
let name = "";
let nickName = "";
alert ( name || nickName || "익명"); // 결과 -> 익명
다음과 같은 활용이 가능하다.
true || alert("not printed"); // true를 만나면 평가를 종료함으로 alert 실행 X
false || alert("printed"); // false를 지나 alert가 실행됨
alert( 1 && 2 && null && 3 ); // null 반환
💡 and(&&)가 or(||)보다 우선순위가 높다
💡 and나 or연산자가 if문을 대체할 수 있지만, 가독성을 위해 지양하자!
형태 :
변수명 = !피연산자;
(피연산자의 앞에 느낌표를 사용한다)
alert( !!"non-empty string" ); // true
alert( !!null ); // false
Boolean
이 있음alert( Boolean("non-empty string") ); // true
alert( Boolean(null) ); // false
💡 not 연산자는 우선순위가 가장 높은 논리 연산자이다. (AND, OR보다 먼저 실행)