const answer = prompt("어디사세요?");
if (answer === "선릉") {
alert("가까우시네요!");
} else if (answer === "강남") {
alert("가까우시네요!");
} else if (answer === "을지로") {
alert("조금 멀리 사시네요.");
} else {
alert("거긴 어디인가요?");
}
위의 코드 내용을 보게 되면 answer가 "선릉", "강남"일 때는 조건은 다르지만, "가까우시네요!"라는 같은 결과값을 출력합니다. 이경우 결과는 같지만 불필요하게 반복이 이루어지고, 생산성이 떨어져 보입니다. 이럴때는 논리연산자중 '||'(or) 이용하면 코드를 간단하게 작성할 수 있습니다.
const answer = prompt("어디사세요?");
if (answer === "선릉" || answer === "강남" || answer === "역삼") {
alert("가까우시네요!");
} else if (answer === "을지로") {
alert("조금 멀리 사시네요.");
} else {
alert("거긴 어디인가요?");
}
하나의 if 문에 참(true)/거짓(false)을 판단할 조건은 세 개(선릉,강남,역삼)입니다. prompt 함수에서 리턴받은 answer가 선릉, 강남, 역삼 중 하나일 경우. 즉, 저 '셋 중에 하나'로 대답하면 해당 if문이 실행됩니다.
const hobby = prompt("취미가 무엇인가요?");
const morning = prompt("아침형 인간인가요?");
if (hobby === "축구" && morning === "네") {
// 비교연산자 두개 hobby와 morning 부분이 모두 조건이 충족이된다면 조건문 실행
alert("조기축구회를 추천합니다.");
} else {
alert("무슨 동아리가 좋을지 생각해볼게요.");
}
-가위 바위 보 게임 함수를 아래 조건에 맞게 구현해주세요.
function rockScissorsPaper(player1, player2) {
if(player1==='바위' && (player2==='가위' || player2==='바위')){
result = "player1"
}else if(player1==='보' && (player2==='바위' || player2==='보')){
result = "player1"
}else if(player1==='가위' && (player2==='보' || player2==='가위')){
result = "player1"
}else{
result = "player2"
}
return result
}
console.log(rockScissorsPaper('바위', '바위')) // player1
console.log(rockScissorsPaper('바위', '가위')) // player1
console.log(rockScissorsPaper('바위', '보')) // player2
- rockScissorsPaper함수에 player1, player2 인자 지정
- 첫번째 if문에서 player1이 '바위'이고 player2가 '가위' 또는 '바위'인 경우에는 player1 출력
- 아래 else if절에서 player1이 '보'이고 player2가 '바위' 또는 '보'인 경우에는 player1 출력
- 2번째 else if절에서 player1이 '가위'이고 player2가 '보' 또는 '가위'인 경우에는 player1 출력
- else절에서는 player2 출력
조건문에서 || 논리연산자 부분에서 괄호로 묶어준 이유는 괄호로 묶어주지 컴퓨터 언어는 작성된 순서대로 코드를 해석합니다 그렇기 때문에 이경우, 뒤에 내용을 먼저 비교를 해야되기 때문에 괄호로 묶어서 작성합니다.