if문의 축약형태로 사용되는 연산자.
조건 ? 참 : 거짓
위의 식을 사용하게된다.
예제1 :
//true 일 경우
const exam1 = 1 > 0; // true
exam1 ? true : false
true // 리턴된 값
//false 일 경우
const exam2 = 1 < 0 //false
exam2 ? true : false
false // 리턴된 값
위의 삼항연산자를 중첩해서 사용할 수 있다.
한가지 조건의 true, false 값에 또다시 삼항연산자를 사용하여
여러값을 비교하여 리턴값을 구할 수 있다!
예제2 :
const exam3 = true;
const exam4 = true;
const whatsReturn = exam3 ? (exam4 ? "true true" : "true false") : (exam4 ? "false true" : "false false");
exam3가 true이고, exam4가 true 일 때 리턴되는 값은 "true true"
exam3가 true이고, exam4가 false 일 때 리턴되는 값은 "true false"
exam3가 false이고, exam4가 true 일 때 리턴되는 값은 "false true"
exam3가 false이고, exam4가 false 일 때 리턴되는 값은 "false false"
예제3 :
const exam5 = true;
const exam6 = true;
const exam7 = true;
const whatsReturn =
exam5 ? (exam6 ?(exam7 ? "true true true":"true true false"): "true false"): (exam6 ? "false true" : "false false");
console.log(whatsReturn)
exam5가 true이고, exam6가 true이고, exam7이 true 일 때 리턴되는 값은 "true true true"
exam5가 true이고, exam6가 true이고, exam7이 false 일 때 리턴되는 값은 "true true false"
exam5가 true이고, exam6가 false이고, exam7이 false 일 때 리턴되는 값은 "true false"
exam5가 false이고, exam6가 false이고, exam7이 false 일 때 리턴되는 값은 "false false"
exam5가 false이고, exam6가 true이고, exam7이 true 일 때 리턴되는 값은 "true false"
exam5가 false이고, exam6가 true이고, exam7이 false 일 때 리턴되는 값은 "true false"
예제처럼 여러가지 조건을 주고 그에따른 값을 여러가지 리턴할 수 있다.
삼항연산자를 이해하기엔 많이 힘들지만, 내가 부여하는 조건이 true인지, false인지
제대로 자각하며 사용한다면 여러 값을 리턴할 수 있어 굉장히 유용하다.
잘 정리된 글 잘봤습니다.