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