article thumbnail image
Published 2022. 6. 28. 16:54

 

삼항연산자의 기본적인 사용방법

 

삼항연산자를 만들기 앞서 

간단하게 조건식을 만들어보자.

    let a = 3;
    if (a >= 0) {
      console.log('양수')
    } else {
      console.log('음수')
    }

a가 0보다 크거나 같으면 양수, 아니면 음수!

이렇게 적어줘도 되지만 더 간단하게 표현 할 수 있는 방법이있다.

 

    let a = 3;
    a >= 0 ? console.log('양수') : console.log('음수');

a가 0보다 크면 양수, 아니면 음수를 출력해라. 라는 뜻이다.

이렇게 삼항연산자는 조건문을 파격적으로 줄여줄수있는 태크닉이다.

 

우선, 조건식을 적어주고 물음표 키워드를 사용한다.

그 다음엔 참일때 ,실행한 식을 적고, 거짓일때 실행할 식은 : 콜론을 찍고 적어주면 된다.

 

  let arr = [];

    if (arr.length === 0) {
      console.log("빈배열")
    } else {
      console.log("빈배열아님")
    }

위의 코드를 삼항연산자로 바꿔보자.

let arr = [];
  arr.length === 0 ? console.log('빈배열') : console.log('빈배열아님')

 

이번에는 값을 참일때와 거짓일때를 구분해서 반환해보자.

삼항연산자가 리턴할 값이 있어야하니까 값을 적어주고,

arrayStatus 상수에 대입해서 출력하면 정상적으로 작동된다. 

 let a = [];

const arrayStatus = a.length === 0 ? "빈배열" : "안빈배열";
console.log(arrayStatus); //빈배열

 

 

삼항연산자 스마트하게 활용 방법

삼항연산자로 조건식을 사용하기때문에 truthy와 falsy를 사용할 수 있다.

(truthy와 falsy가 기억이안나면 이전 포스팅을 보고 와주세요.)

https://seo0yoon.tistory.com/12?category=955107

 

[JS] Truthy & Falsy 형 변환 (Type conversion)

Truthy & Falsy 자바스크립트의 굉장히 큰 특징중 하나! truthy// true, {}, [] 1, 2, 'false', -12, '3.14'..... (참 같은 값) falsy// false, "", null, undefined, 0, -0, NaN.... (거짓 같은 값) if ('false..

seo0yoon.tistory.com

 

주어진값이 null, undefined이 아닌지를 판단하는 프로그램을 만들어보면.

 

   let a;
    
    const result = a ? true : false;
    console.log(result) //false

여기서 a란 값은 undefined이기때문에 falsy다.

result 상수에는 falsy가 할당된다.

 

  let a = [];

    const result = a ? true : false;
    console.log(result) //true

반대로 a의 값을 truthy한 값인 배열로 바꾸면?

true가 출력된다.

 

 

삼항연산자를 중첩해서 사용하는 방법

이번에는 학점을 계산하는 프로그램을 만들어보자.

90점 이상 A+

50점 이상 B+

둘다 아니면 F

let score = 100;

score >= 90 
? console.log("A+") 
: score >= 50 
? console.log("B+") 
: console.log("F")

 

 

스코어가 90을 넘으면 a+를 출력하고, 그렇지않으면 (한번 더 비교를 해줌)

스코어가 50을 넘으면 b+을 출력해준다. 

둘다 아니면 f를 출력시킨다.

 

 

삼항연산자를 사용하면 긴코드를 간략하게 줄일 수 있다.
하지만 중첩 삼항연산자를 사용하면 가독성이 떨어지기때문에
삼항연산자를 중첩으로 사용하면 if조건문을 사용하는게 더 낫다.

'개발이야기 > JS' 카테고리의 다른 글

[JS] 조건문 활용 (feat. 객체 괄호표기법)  (0) 2022.06.28
[JS] 단락회로 평가  (0) 2022.06.28
[JS] 배열  (0) 2022.06.28
[JS] 객체  (0) 2022.06.28
[JS] 동기와 비동기 작업의 이해 (feat. useEffect)  (0) 2022.05.28
복사했습니다!