논리 연산자 ✅ (Logical Operators)

minjoo kim·2021년 1월 14일
0

const answer = prompt("어디사세요?”);


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

만약 역삼, 삼성도 조건문에 추가하는데, 같은 결과를 리턴해야 한다면?
대략 4줄이 추가 되어야겠네요..😅
결과는 같은데 조건문만 달리쓰려니, 귀찮기도 하고 생산성 없이 느껴집니다!

_if (선릉 또는 강남 또는 삼성 또는 역삼) {   
    _alert("가까우시네요!");
}

처럼 바꿀 수 있을까요?

❗️”또는(or)” 연산자

delete키 옆에있는 <||>를 사용해봅시다!

아래처럼 다시 작성해볼까요?

const answer = prompt("어디사세요?”);


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

하나의 if 문에 참(true)/거짓(false)을 판단할 조건은 세 개(선릉,강남,역삼)입니다.
prompt 함수에서 리턴받은 answer가 선릉, 강남, 역삼 중 하나일 경우..
즉, 저 셋 중에 하나로 대답하면 해당 if문이 실행됩니다.

❗️”그리고(and)”연산자

<&&>를 사용해봅시다!

취미와 성향을 받아서 동아리를 추천해보고 싶은데, 취미가 꼭 축구여야하고, 아침형 인간이어야만 조기축구회를 추천해드릴거에요~

이렇게 조건 하나가 아닌, 모두 충족해야할 때 쓸 수 있는 연산자인데요~.

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

그럼 ||와 && 둘 다 들어간 경우는 어떡하나요?😟

예시를 보고 조금 생각해봅시다!

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

어떤 의미일까요?!

3
.

2
.
1
.
!!

컴퓨터 언어는 왼쪽에서 부터 해석하기 때문에 순서대로의 해석이 맞는 해석입니다. 하지만, 다른 개발자들이 보기에는 헷갈릴 수 있으니, 항상 괄호로 묶어주는 습관을 들이도록해요.💪

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

#assignment

rockPaperScissors 함수를 구현해서 가위 바위 보 게임을 구현해 보도록 하겠습니다.
player1과 player2 중 이긴 사람이 누군지 리턴해주세요.
예를 들어, player1이 이겼으면 "player1" 이 리턴 되고 그 반대의 경우라면 "player2"가 리턴이 되어야 합니다.
만일 비기는 경우에는 무조건 "player1"이 리턴 되어야 합니다.
player1 과 player2 의 값은 다음 셋 중 하나 입니다.

  • "가위"
  • "바위"
  • "보"
    예를 들어, player1은 "가위" 이고 player2는 "보" 이면 "player1" 이 리턴 되어야 합니다.
    가능하면 || 와 && 연산자 둘다 사용해주세요.

0개의 댓글