brunch

You can make anything
by writing

C.S.Lewis

by 별똥별 shooting star Aug 17. 2023

자바스크립트, 삼항 조건 연산자 알아보기(? :)

출퇴근길에 공부하는 자바스크립트1

x == 0  ?  '0이다.'  :  '0이 아니다.'


자바스크립트를 처음 사용할 때 의문이 들었던 코드 중에 하나이다. 보통 if... else문을 통해서 개발을 해오던 터라 조금 생소하기는 하였다. 그러나 한 번 알고 나니 굉장히 편리하여 자주 사용하는 연산자가 되었다. 조금 더 이해하기 쉽도록 표현한다면 다음과 같이 될 수 있을 것이다.


조건식 ? 조건식이 참일 때 반환할 값 : 조건식이 거짓일 때 반환할 값

즉,? 앞에는 참인지, 거짓인지 평가할 조건식이 들어간다. 만일 조건식의 평가 값이 참, 거짓이 아니면 암묵적으로 타입을 변환한다. 그리고 : 를 통해서 참일 때의 값, 거짓일 때의 값을 출력한다.


그렇다면 if... else문을 사용하면 되는데 삼항 조건 연산자를 사용해야 하는 이유가 무엇일까? 삼항 조건 연산자 표현식은 "var result = 삼항 조건 연산자"처럼 값처럼 사용할 수 있다는 것이다. 하지만 반대로 가독성이 떨어진다는 단점이 있다.


즉, 조건에 따라 어떤 값을 결정하여 도출해야 한다면 삼항 조건 연산자를 사용하는 게 더 유리하고, 수행해야 할 문이 하나가 아니고 여러 개라면 if... else로 가독성을 높이는 것이 더 유리하다

매거진의 이전글 자바스크립트, '=='는 알겠는데 '==='는 뭐야?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari