JavaScript | pre course 8-Logical Operators(논리 연산자)

🙋목표: 자바스크립트 기초를 공부하고 부족한 부분을 채우자.

1. 논리 연산자의 필요성


🙌 if문만 쓰게 되면 나오게 되는 코드의 양 때문에 많은 이들이 논리 연산자를 이용함

const answer = prompt("어디사세요?");
 
if (answer === "선릉") {
  alert("가까우시네요!");
} else if (answer === "강남") {
  alert("가까우시네요!");
} else if (answer === "을지로") {   
  alert("조금 멀리 사시네요."); 
} else {
 alert("거긴 어디인가요?");
}

2. 논리 연산자의 사용법


바로 또는(or), 그리고(and)를 쓰는 것이다. 이것은 ||&& 로 쓸 수 있다.

const answer = prompt("어디사세요?");
 
if (answer === "선릉" || answer === "강남" || answer === "역삼") {
  alert("가까우시네요!");
} else if (answer === "을지로") {   
  alert("조금 멀리 사시네요."); 
} else {
 alert("거긴 어디인가요?");
}

조건 하나만 맞으면 되는 || 과 달리 모두 충족해야할 때 사용하는 그리고(and) 연산자인 && 가 있다.

const hobby = prompt("취미가 무엇인가요?");
const morning = prompt("아침형 인간인가요?");
 
if (hobby === "축구" && morning === "네") {
  alert("조기축구회를 추천합니다.");
} else {
  alert("무슨 동아리가 좋을지 생각해볼게요.");
}

또한 논리연산자를 이용할 때 괄호를 이용해서 가독성을 높이자.

if ((age > 65 || age < 21) && res === "한국"))

3. Assignment


  • rockPaperScissors 함수를 구현해서 가위 바위 보 게임 만들기
  • 가능하면 || 와 && 연산자 둘다 사용하자.
  • player1과 player2 중 이긴 사람이 누군지 리턴하자.
  • 예를 들어, player1이 이겼으면 "player1" 이 리턴 되고 그 반대의 경우라면 "player2"가 리턴이 되어야 한다.
  • 만일 비기는 경우에는 무조건 "player1"이 리턴 되어야 한다.
  • player1 과 player2 의 값은 다음 셋 중 하나다.
    • "가위"
    • "바위"
    • "보"
  • 예를 들어, player1은 "가위" 이고 player2는 "보" 이면 "player1" 이 리턴 되어야 한다.
//1. player1이 출력되야하는 경우의 수를 찾기
//2. 나머지 player2 출력🚀
function rockPaperScissors(player1, player2) {
    if ((player1 === player2) || (player1==="가위" && player2==="보") || (player1==="바위" && player2==="가위") || (player1==="보" && player2==="바위")) {
        return "player1";
    } else {
        return "player2";
    }
}

좋은 웹페이지 즐겨찾기