📌 삼항연산자
[ (조건) ? 참 : 거짓 ]
참/ 거짓 중 하나가 실행된다.
[단항, 이항 연산자]
let a=3;
document.write(a*-1); //이항. -3
document.write(-a); //단항. -3
[삼항연산자 연습문제]
문1) 절대값을 구하시오 (양수값을 구하시오)
let num=-5;
let result=(num<0) ? num*-1 : num;
document.write(num+ " 절대값: " + result);
[문1 해설]
let num=-5;
let result=(num<0) ? num*-1 : num;
// -5 <0 -5 * -1
num은 -5
num이 0보다 작다는 조건이 참이면? num * -1 : 틀리면 num 출력.
-5는 0보다 작기때문에 참조건으로 가서 num * -1 식이 실행된다.
따라서 결과는 -5가 출력된다.
문2-1) 세개의 수 중에서 가장 큰 값을 구하시오(최대값 구하기) - 양수값
let x=7, y=5, z=9;
let max=(x<y) ? y : x;
max=(max<z) ? z : max;
document.write("세개의 수 최대값: " + max);
[문2 해설]
let x=7, y=5, z=9;
let max=(x<y) ? y : x;
//(7<5) 7
// max = 7
max=(max<z) ? z : max;
//7<9 9
1. 삼항연산자를 이용해 두개의 수를 먼저 비교한다.
2. y값이 큰가? -> X
3. 거짓 -> X값이 max변수에 들어감.
4. max보다 z값이 큰가? -> O
5. z값이 max변수에 들어감.
6. z=9 최대값 도출 완료~!
문2-2) 세개의 수 중에서 가장 큰 값을 구하시오(최대값 구하기) - 음수값
let x=-7, y=-5, z=-9;
let max=(x<y) ? y : x;
max=(max<z) ? z : max;
// 음수값으로 변경해도 최대값 도출된다.