|| or
&& and
! not
result = a || b;
<script>
if (1 || 0) //false || false 가 아니면 전부 결과는 true가 나옴
{ alert('truthy')} ;
</script>
ex)
<script>
let hour = 12;
let isWeeknd = true;
if(hour < 10 || hour > 18 || isWeeknd){
alert('영업 시간이 아님. 가세요!!');
}
</script>
타입 제약 X
JS에서만 제공하는 논리연산자 OR의 추가 기능
result = value1 || value2 || value3;
일 때
or 연산자 || 의 연산 수행 순서
<script>
alert( 1||0); //1 -> truthy
alert( null || 1); // X 1 -> truthy
alert( null || 0 || 1 ); // X X 1 -> truthy
alert(undefined || null || 0); // X X X -> 모두 falsy이므로 0 반환
</script>
용도
<script>
let firstName = "";
let lastName = "";
let nickName = "바이올렛";
alert(firstName || lastName || nickName || '익명'); //바이올렛
</script>
<script>
true || alert('not printed'); //print X
false || alert('printed'); //print O
</script>
첫 번째 줄에서 ||
는 true
를 만나자마자 평가를 멈추므로 alert
실행 X<script>
let hour = 12;
let minute = 30;
if (hour == 12 && minute == 30) {
alert( '현재 시각은 12시 30분입니다.' );
}
</script>
타입 제약 X
!
1개 : not.. result = !value;
!
2개 : 값을 불린형으로 변환