⁂ Java Script/: 기본 익히기

[JS] #2-4 삼항 연산자(ternary operator)

김갱환 2022. 8. 4. 15:01

1. 연산자와 항

 

 연산자는 항의 갯수에 따라 불리는 이름이 서로 다르다.

document.write(a*-1);
document.write(-a);

 1항은 a라는 항과 -1이라는 항, 두개의 항을 가졌다. 그래서 * 연산자는 이항 연산자라 불린다.

 2항은 a라는 하나의 항만 가졌다. 그래서 -는 단항 연산자라고 불린다.

 

 삼항 연산자는 항이 세개인 연산자라는 뜻이다.

 

 

2. 삼항 연산자 이해하기

 

 우선 삼항 연산자의 기본 문법은 아래와 같다.

( 조건 )  ?  참  :  거짓

 

 어떠한 조건(항)이 제시되고 값이 그 조건에 참(항) 일 때의 출력값과 거짓(항) 일 때의 출력값을 지정해준다는 뜻이다.

 더 잘 이해하기 위해 예시 문제를 풀어보자.

 

 - 예시 문제 1 : 어느 정수의 절대값을 구해보자!

 어느 숫자의 절대값은 그 숫자가 양수일 때의 값을 구하라는 뜻이다.

 아래의 코드를 살펴보자.

let num=-5;
let result = (num<0) ? num*-1 : num
document.write(num + "의 절대값은 " + result);

 

 num이라는 변수를 선언하고 -5의 값을 주었다.

 이 num 변수의 값의 절대값을 구하기 위해서 우린 우선 num의 값이 음수인지 양수인지 알아야 한다.

 위의 코드에서는 음수일 경우를 조건으로 세운 뒤 음수일 경우(참) -1을 곱하고 양수일 경우(거짓)에는 그대로 출력하게 했다.

 

 조건 : num < 0 (num의 값이 음수일 때)

 참 : num * -1 (음수이니 -1을 곱하라)

 거짓 : num (양수이니 그대로 출력하라)

 

 이처럼 조건과 조건에 해당하는 결과로 두 가지 중 한 가지의 결과를 출력시키는 것.

 이것이 삼항 연산자이다.

 

 - 예시 문제 2 : 세 개의 수 중에서 가장 큰 값을 구해보자!

let x=-49, y=-205, z=-89;
let comp = (x>y) ? x : y;
let max = (z>comp) ? z : comp;
document.write(x + ", " + y + ", " + z + " 중에 가장 큰 수는 " + max);
document.write("<hr>");

 

 삼항 연산자를 활용하여 세 수 중 가장 큰 값을 구하는 코드를 작성했다.

 코드를 하나씩 살펴보며 어떤 방식으로 최대값을 구하는지 확인해보자.