논리, 삼항, Nullish 연산자

moono·2023년 1월 22일
0

JavaScript

목록 보기
2/23

논리연산자

  • 두 피연산자 간의 논리적인 판별을 수행하는 연산자
  • boolean 타입으로 결과값 리턴
  • 논리곱 && (AND)
    값1 && 값2
    두 피연산자로 주어진 값이 모두 참일 때만 true, 하나라도 틀리면 false
    ⇒ 왼쪽이 참이면 오른쪽을 평가한다.

  • 논리합 || (OR)
    값1 || 값2
    두 피연산자로 주어진 값 중 하나라도 참이면 true, 모두 틀리면 false
    ⇒ 값1 이 참이면 값2까지 가지 않고 그냥 바로 리턴
    ⇒ 왼쪽이 거짓일때 오른쪽을 평가한다.

  • 논리부정 ! (NOT)
    !값1
    원래의 값을 반대로 반전시킴

삼항연산자

  • 조건의 결과에 따라 다른 실행 결과를 가지는 연산을 수행
  • Javascript에서 피연산자 3개를 가지는 유일한 조건연산자
  • 해당 연산자는 if...else문 의 대체재로 빈번히 사용
  • 간단한 코드면 삼항조건연산자가 편리하고 가독성이 좋으나 복잡하면 if   else 가 좋음
  • 조건식 ? 참일 경우 실행 결과 : 거짓일 경우 실행 결과
let result = 2 < 3 ? '네!' : '아니오!';

console.log(result); // 네!
// 삼항연산자
let num = 5;
num % 2 === 0 ? console.log('짝수') : console.log('홀수'); // '홀수'

// if...else문
let num = 5;
if (num % 2 === 0) {
  console.log ('짝수');
} else {
  console.log ('홀수');
}

--------^^^^--------

// 삼항연산자 중복으로 하기
let age = 15;
age < 13 // if (age < 13) {
  ? console.log('초등학생') // console.log ('초등학생');
  : age > 13 && age <= 19 // } else if (age > 13 && age <= 19) {
  ? console.log('청소년') // console.log ('청소년');
  : console.log('성인'); // } else {console.log ('성인');}

Nullish 연산자(Null 병합 연산자)

  • 여러 개의 피연산자 중 값이 확정되어 있는 피연산자(변수)를 찾는 연산 수행
  • a ?? b ?? c (갯수 상관 없이 값이 있는게 나올 때 까지)

⇒ 변수의 값이 null 이나 undefined가 아니면 그 값을 선택하지만
null 이나 undefined 라면 다음 피연산자를 평가(피연산자 갯수만큼 반복)

let a = undefined;
let b = null;
let c = null;
let d = 'hi';
let e - 'bye';

console.log(a ?? b ?? c ?? d ?? e); // hi
console.log(a ?? b); // null
console.log(e ?? d); // bye
console.log(d ?? e); // hi

0개의 댓글