if문을 여러줄로 사용하다보면 전혀 생산성이 없어진다.
그럴때는 같은 결과에 해당하는 조건을 묶을 수 있다.
if (선릉 또는 강남 또는 삼성 또는 역삼) {
alert("가까우시네요!");
}
또는(or)
이라는 논리 연산자를 사용하면 된다.
또는(or)
에 해당하는 javscript의 연산자는 ||
이다.
var answer = prompt("어디사세요?");
if (answer === "선릉" || answer === "강남" || answer === "역삼") {
alert("가까우시네요!");
} else if (answer === "을지로") {
alert("조금 멀리 사시네요.");
} else {
alert("거긴 어디인가요?");
}
위 조건문을 살펴보자. 참/거짓을 판단할 조건은 세 개이다.
prompt에서 받은 answer가 선릉이나, 강남이나, 역삼중 하나로 대답하면 해당 if문이 실행된다.
조건이 하나만 맞는게 아니라 모두가 충족해야할 때 사용하는 그리고(and)
연산자는 &&
이다.
var hobby = prompt("취미가 무엇인가요?");
var morning = prompt("아침형 인간인가요?");
if (hobby === "축구" && morning === "네") {
alert("조기축구회를 추천합니다.");
} else {
alert("무슨 동아리가 좋을지 생각해볼게요.");
}
위의 코드로 테스트해보자!
if (age > 65 || age < 21 && res === "한국")
||
를 기준으로 먼저 나누는게 좋을까, &&
를 기준으로 나누는게 좋을까?
정답은 컴퓨터 언어는 왼쪽에서 부터 해석하기 때문에 앞에가 맞는 해석이다.
컴퓨터는 본인이 정한 기준으로 실행되지만, 사람은 헷갈릴 수 있으므로 항상 괄호로 묶어주는 습관을 들이면 좋다.
if (age > 65 || (age < 21 && res === "한국"))