Programming Study/JavaScript

[JS 기초 Day 2] 논리 연산자

myejinni 2022. 3. 7. 14:30

[논리 연산자]

|| (OR) : 여러 개 중 하나라도  true 면 true

-> OR는 첫 번째 true를 발견하는 즉시 평가를 멈춤

 

&& (AND) : 모든 값이 true면 true

-> AND는 첫 번째 false를 발견하는 즉시 평가를 멈춤

 

*평가 시 순서 중요; 성능 최적화에 도움을 줌

 

! (NOT) : true면 false, false면 true

 

OR문

//OR
//이름이 TOM이거나, 성인이면 통과

const name="MIKE";
const age="30";

if(name=="TOM" || age > 19 ){
  console.log("통과");
}

이름이 TOM 또는 성인이면 된다는 조건 중 하나를 만족했기 때문에 "통과"가 출력된다.

 

AND 문

//AND
//이름이 MIKE이고, 성인이면 통과

const name="MIKE";
const age="30";

if(name=="MIKE" && age > 19 ){
  console.log("통과");
}
else{
  console.log("돌아가");
}

 

//AND
//이름이 MIKE이고, 성인이면 통과

const name="MIKE";
const age="10";

if(name=="MIKE" && age > 19 ){
  console.log("통과");
}
else{
  console.log("돌아가");
}

조건에 충족하도록 변수 설정 시(이름이 MIKE, 나이는 성인) "통과"가 출력됨

나이 조건을 미성년자로 설정 시 "돌아가"가 출력됨 

 

NOT문

//NOT
//나이를 입력받아 성인 아니면 돌아가라고..

const age=prompt("나이가..?"); //나이 입력받기
const isAdult = age > 19;

if (!isAdult){
  console.log("돌아가..");
}

성인이 아닌 나이에 해당하는 숫자를 입력했을 때 "돌아가.."가 출력된다.

 

우선순위

//우선순위
//남자이고, 이름이 Mike 이거나 성인이면 통과

const gender = "F";
const name = "Jane";
const isAdult=true;

if(gender === "M" && (name==="Mike" || isAdult)){
  console.log("통과")
}
  else{
    console.log("돌아가")
  }

-> 실행결과=돌아가

//우선순위
//남자이고, 이름이 Mike 이거나 성인이면 통과

const gender = "F";
const name = "Jane";
const isAdult=true;

if(gender === "F" && (name==="Mike" || isAdult)){
  console.log("통과")
}
  else{
    console.log("돌아가")
  }

: if 문 안의 gender를 F로 바꿔줌

-> 실행결과=통과