7. 논리연산자

조뮁·2022년 6월 28일
0

JS기초

목록 보기
7/14
post-thumbnail

OR (||)

  • 여러개 중 하나라도 true면 true 반환
  • 모든값이 false일때만 false를 반환

and (&&)

  • 모든값이 true면 true반환
  • 하나라도 false면 false 반환
  • && 가 || 보다 우선순위가 높음

not (!)

  • true면 false 반환
  • false면 true 반환

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

  • 실제 코드에서 어떤 순서로 평가를 배치하는지가 중요
  • 간단한 평가를 복잡한 작업 전에 놓는게 좋음
    ex) 5%, 30%, 70% 만족하는 조건을 평가할 경우, 3%의 조건부터 평가하는게 좋음. 첫 단계에서 97%가 걸러지기 때문에 성능최적화에 좋다.
const name = "Mike";
const age = 30;

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

if(name === "Tom" && age > 19){
  console.log('통과2');
};

// > '통과1'
// and 연산자는 통과하지 못함

const gender = 'F';
const name = 'jane';
const isAdult = true;

if (gender === 'M' && name === 'Mike' || isAdult) {
  console.log('통과!');
}
// > 통과!

통과되는 이유

  • &&가 || 보다 순위가 높아서 먼저 평가됨.
  • (~~) || isAdult 의 평가가 이뤄짐.
    == (남자인동시에 마이크) or 성인이면 통과
  • isAdult가 참이기때문에 이 문장은 true가 됨.

0개의 댓글