삼항연산자

조뮁·2022년 8월 16일
0

React-이론

목록 보기
2/12

삼항연산자

: 조건식을 한 줄로 축약하여 작성 가능한 문법
조건식 ? 참일때 수행할 식 : 거짓일 경우 수행할 식;

매개변수가 양수인지 음수인지 구분하는 함수 작성

let a = 3;

// 일반 if문 이용
if (a >= 0) {
  console.log('양수');
}else{
  console.log('음수');
}

// 삼항연산자 이용
a >= 0 ? console.log('양수') : console.log('음수');
  • ? 앞의 코드는 조건식임을 나타냄
  • ? 뒤의 코드는 참일 경우 수행할 식
  • : 뒤의 코드는 거짓일 경우 수행할 식

배열이 비어있는지 확인하는 함수 작성

let a = [1, 2, 3];

// 일반 조건식 사용
if (a.length > 0) {
  console.log('배열값 있음');
} else {
  console.log('배열값 없음');
}

// 삼항연산자 사용
a.length > 0 ? console.log('배열값 있음') : console.log('배열값 없음');

삼항연산자를 이용한 값 반환

let a = [1, 2, 3];

// 일반 조건식 사용
if (a.length > 0) {
  console.log('배열값 있음');
} else {
  console.log('배열값 없음');
}

// 삼항연산자 사용
const arrStatus = a.length > 0 ? '배열값 있음' : '배열값 없음';
// arrStatus라는 변수를 생성하여 삼항연산자의 결과값을 할당

console.log(arrStatus)
  • 삼항연산자의 ? : 뒤에 함수가 올 경우 -> 함수 실행
  • 삼항연산자의 ? : 뒤에 값이 올 경우 -> 대입연산자를 이용하여 결과를 값으로 받을 수 있음

삼항연산자의 조건식에 Truthy & Falsy 값 이용

 let a;  // undefined

const result = a ? true : false;
console.log(result);  // false
  • a 는 falsy한 값이기 때문에 false가 result에 할당됨

중첩 삼항연산자

  • 학점 계산
// 90점 이상 : a+  ,  80점 이상 : b+  ,  나머지 : c+
let score = 55;

const result = score >= 90 ? "A+" : score >= 80 ? "B+" : "C+";
// 여러 조건이 걸려야 할 때는 : 뒤에 또 다시 삼항연산자를 작성

console.log(`내 학점은 ${result}입니다.`);
  • 중첩 삼항연산자는 가독성이 떨어지기 때문에, if문으로 작성하는게 더 좋다.
if (score >= 90) {
  result = 'A+';
} else if (score >= 80) {
  result = 'B+';
} else {
  result = 'C+';
}

console.log(`내 학점은 ${result}입니다.`);

0개의 댓글