도담도담

3항연산자 (if문 대신 빠르게 사용) 본문

IT 공부/개인정리

3항연산자 (if문 대신 빠르게 사용)

Zinisang 2022. 6. 7. 22:38

코드를 처음 배울때 if( )을 배워서 아주 열심히 사용을 했었다.

if.... 또 다시 if....

사용하는게 문제되는건 아니지만 가능 코드가 뭔가 길어지는거 같아서 맘에 안들때도 있었다.

그래서 찾게된게 "3항연산자" 이다.


기본 형식

기본적인 형식은 다음과 같다.

condition ? true : false;

//(조건이 있으면) ? (참) : (아니면 거짓);

 

아래와 같은 예를 들어 표현할 수 있겠다.

var a = 10;
var b = 20;
var c = 0;

a < b ? c = 1 : c = 2;
// a가 b보다 작으면 c는 1이다, 하지만 해당조건이 맞지 않다면 c는 2이다.

 or  ( || ) , and ( && ) 

 

한줄로 간단하게 표현되는 것이 장점이긴 하지만 간혹 3항연산자로도 다중조건을 걸고 싶을때가 있을것이다. or  ( || )이라거나 and ( && ) 를 추가하고 싶을때는 다음과 같이 사용할 수 있다.

var a = 10;
var b = 20;
var c = 0;

a < b && b < 30 ? c = 1 : c = 2;
// a가 b보다 작으면서 b가 30보다 작으면 c는 1이다, 하지만 해당조건이 맞지 않다면 c는 2이다.

a > b || b < 30 ? c = 1 : c = 2;
// a가 b보다 크거나 b가 30보다 작으면 c는 1이다, 하지만 해당조건이 맞지 않다면 c는 2이다.

연속사용

혹시 3항 연산자를 if() else if() 처럼 계속 이어가고 싶다면 다음과 같이 사용할 수도 있다.

var a = 10;
var b = 20;
var c = 0;

a < b ? c = 1 : a = b ? c = 2 : a > b ? c = 3;
// a가 b보다 작으면 c가 1이다.
// a가 b와 같으면 c가 2이다.
// a가 b보다 크면 c가 3이다.

 

활용방법이 더 있겠지만 나는 아직은 여기까지만 활용하고 있는것 같으니 뭔가 더 사용하게 되면 추가하겠다.

 

 

Comments