자바스크립트에는 전통적인 방법뿐만이 아니라 좀 특이한 점이 있는 것 같다.
논리연산자도 그런 추가적인 역할이 있다. 자세히 알아보자.
로아가 뒤에 슬그머니 걸어옴 기여움
연산자 설명
&&
: 두 항 모두 참이어야 참이다.
¦¦
: 둘 중 하나만 참이여도 참이다.
!
: 참인 경우 거짓으로 바꾸고, 거짓인 경우 참으로 바꾼다.
만약 피연산자가 불린형이 아니면, 평가를 위해 불린형으로 변환된다.
불린형으로 변환
false
: 0, null, undefined, NaN, ""
true
: 그 외의 값
||
의 피연산자가 여러가지인 경우 true
값을 만든 해당 피연산자를 반환한다.false
인 경우 마지막 피연산자를 반환한다. 0 || null || undefined || NaN || "" || 3 || 1 ; //3
0 || null || undefined || NaN || "" ; //''
true || alert("not printed" ); //실행 X
false || alert("printed"); //실행 O
&&
의 피연산자가 여러가지인 경우 flase
를 만든 첫번째 피연산자를 반환한다. 3 && 4 && 5 && "" && 3 //''
3 && 4 && 5 //5
!!
이렇게 쓰면 Bollean()함수를 쓰는 것과 같은 기능을 한다. !!5 //true
!!"" //false
let id = prompt("ID");
if (id == "Admin"){
let password = prompt("비밀번호는 어떻게 됩니까?");
if (password == "TheMaster"){
alert("Welcome");
} else if (password == null || password == ""){
alert ("Canceled");
} else {
alert("Wrong password");
}
} else if (id == null || id == ""){
alert ("Canceled");
} else {
alert("I don't know you.");
}
프롬포트창에 아무것도 입력하지 않으면 빈문자열 ""
이 반환되고 ESC
를 누르면 null
이 반환된다.
null
은 == 논리 연산자에서 null
과 undefined
와만 동잏하게 나온다.
Boolean(null) //false
Boolean("") //false
null == "" //false
null == undefined //true
null == null //true
alert() 메소드의 리턴값은 undefined
이다.