[JavaScript] 논리 연산자

OFFDUTYBYBLO·2020년 5월 27일
0

JavaScript

목록 보기
9/40
post-thumbnail

1. '||'

  • 조건문에 논리연산자를 추가하여 많은 조건을 묶을 수 있다!
var answer = prompt("어디사세요?");
if (answer === "선릉") {
  alert("가까우시네요!");
} else if (answer === "강남") {
  alert("가까우시네요!");
} else if (answer === "을지로") {   
  alert("조금 멀리 사시네요."); 
} else {
 alert("거긴 어디인가요?");
}
  • 위의 조건문을 보면 선릉과 강남은 같은 결과가 나온다.
  • 만약 역삼, 삼성도 조건문에 추가하는데, 같은 결과를 주고 싶다?
  • 엄청 많은 삽질과 중복과 귀찮음이 필요하다.
  • 이 삽질과 중복꽈 귀찮음을 해결해 주는 방법이 논리연산자를 사용하는 것이다.
  • 논리 연산자는 '||'를 통해 사용이 가능하다.
var answer = prompt("어디사세요?");
if (answer === "선릉" || answer === "강남" || answer === "역삼") {
  alert("가까우시네요!");
} else if (answer === "을지로") {   
  alert("조금 멀리 사시네요."); 
} else {
 alert("거긴 어디인가요?");
}
  • 하나의 if문에 참/거짓을 판단할 조건은 세 개이다.
  • prompt에서 받은 answer가 선릉이나, 강남이나, 역삼 중 하나로 대답하면 if문이 실행된다.

2.'&&'

  • '||'은 'or'을 의미하는 비교연산자이다.
  • '&&'은 'and'를 의미하는 비교연산자이다.
  • 이전에 배운 '||'은 여러 조건 중 하나만 참이여도 if문이 실행되었지만 '&&'은 여러 조건이 모두 충족되어야 if문이 실행됩니다.
  • 아래의 코드에서는 '취미가 축구','아침형 인간'이라는 조건이 충족되야만 if문이 실행된다.
var hobby = prompt("취미가 무엇인가요?");
var morning = prompt("아침형 인간인가요?");

if (hobby === "축구" && morning === "네") {
  alert("조기축구회를 추천합니다.");
} else {
 alert("무슨 동아리가 좋을지 생각해볼게요.");
}
  • 그렇다면 if문에 '||','&&'을 동시에 사용하면 컴퓨터는 어떻게 해석할까?
if (age > 65 || age < 21 && res === "한국")

  • 위의 이미지에서 보이듯이 컴퓨터는 왼쪽에서 부터 해석한다.
  • 첫번째 조건이 충족되면 처리되고 그다음 조건을 해석한다.
  • 컴퓨터는 본인이 정한 기준으로 실행이 되지만, 개발자인 사람은 볼 때마다 햇갈리는 경우가 있으니 항상 괄호로 묶어주는 습관이 중요하다~!!
  • 위의 코드를 가독성있게 바꾼다면, 아래와 같다.
if (age > 65 || (age < 21 && res === "한국"))
profile
블로그 운영 x

0개의 댓글