먼저 간단한 조건문으로 예를 들어보자
//a가 양수이면 양수, 음수라면 음수라고 console에 찍히는 조건식
let a = 3;
if (a >= 0) {
console.log("양수");
} else {
console.log("음수");
}
해당 코드를 삼항연산자를 이용하여 간단하게 만들면
let a = 3;
a>=0 ? console.log("양수") : console.log("음수")
삼항연산자 만드는 법
1. 조건식을 쓴다
2. ? 를 쓴다 (앞이 조건식이라는 것을 명시하기 위해 사용)
3. ? 뒤에는 참일 때 수행할 식을 작성 후 : 을 쓰고 뒤에 거짓일 때 수행할 식 작성 후 ; 로 마무리
또 다른 예
주어진 배열이 비어있는 지 확인하고 비어있다면 콘솔에 빈배열이라고 출력하고 그렇지 않으면 비어있지 않다고 출력
일반적으로 조건문 사용하는 식
let a = [];
if (a.length === 0) {
//배열의 길이가 0이면 빈 배열이라는 의미
console.log("빈 배열");
} else {
console.log("안 빈 배열");
}
삼항연산자 사용하는 식
let a = [];
a.length === 0 ? console.log("빈배열") : console.log("안 빈 배열");
값을 참일 때와 거짓일 때를 구분하여 반환하도록 하는 식으로 바꿔보자
let a = [];
const arrayStatus = a.length === 0 ? "빈배열" : "안 빈 배열";
console.log(arrayStatus);
왼쪽에 대입 연산자를 이용해서 결과를 값으로 받아볼 수 있다.
삼항연산자 smart 하게 사용하기!
1. truthy와 falsy 사용하여 주어진 값이 null이거나 undefined이 아닌 지 판단하는 프로그램
let a;
const result = a ? true : false;
console.log(result);
// a가 undefined라서 false
// TODO. 학점계산프로그램
// 90점 이상 A+
// 50점 이상 B-
// 둘다 아니면 F
let score = 100;
score >= 90
? console.log("A+")
: score >= 50
? console.log("B-")
: console.log("F");
//가독성이 떨어지기 때문에 삼항연산자를 중첩으로 사용할 때는 if 조건문을 사용하는 게 더 좋음
// TODO. 학점계산프로그램
// 90점 이상 A+
// 50점 이상 B-
// 둘다 아니면 F
let score = 100;
// score >= 90
// ? console.log("A+")
// : score >= 50
// ? console.log("B-")
// : console.log("F");
//가독성이 떨어지기 때문에 삼항연산자를 중첩으로 사용할 때는 if 조건문을 사용하는 게 더 좋음
if (score >= 90) {
console.log("A+");
} else if (score >= 50) {
console.log("B-");
} else {
console.log("F");
}