javascript 기초

헨도·2022년 11월 12일
0

javascript

목록 보기
7/19

조건부 연산자 (삼항 연산자)

if 문과 switch 문 외에도 분기 처리에 사용되는 식이 있다.

조건부 연산자 기본 형식

조건식 ? '참일 때 실행되는 식' : '거짓일 때 실행되는 식';

조건부 연산자는 문이 아니라 식이기 때문에 결과값이 나온다.

5 > 0 ? '참 입니다.' : '거짓 입니다.';

>>> '참 입니다.'

연산자의 우선 순위가 조건부 연산자의 우선순위보다 높기 때문에 5 > 0이 먼저 실행된다.

조건부 연산자는 보통 조건에 따라 달라지는 값을 변수에 대입하기 위해 사용한다.

let value = 5 < 0 ? '참 입니다.' : '거짓 입니다.';

value;
>>> '거짓 입니다.'

if & switch, 조건부 연산자로 바꾸기

switch 문을 if 문으로 바꿀 수 있으므로, 조건부 연산자도 if 문으로 바꿀 수 있다.

# 조건부 연산자

let condition = true;
let value = condition ? '참' : '거짓';
console.log(value)

# if 문으로 바꾸기

if (condition) {
	value = '참';
 } else {
 	value = '거짓';
}

console.log(value); 
>>> '참'

이중 조건부 연산자

이중 if 문처럼 조건부 연산자 안에 조건부 연산자를 넣을 수 있다.

let condition1 = true;
let condition2 = false;

let value = condition1 ? condition2 ? '둘 다 참' \
: 'condition1만 참' : 'condition1 거짓';

console.log(value)
<<< 'condition1만 참'

소괄호 활용하여 조건부 연산자 구분하기

위처럼 바꿀 수 있겠지만, 다른 개발자들과 협업을 위하여 소괄호를 활용하여 구분을 도와주는 것이 좋다.

# 바꾸기 전
let value = condition1 ? condition2 ? '둘 다 참' \
: 'condition1만 참' : 'condition1 거짓';

# 바꾼 후
let value = condition ? ( condition2 ? '둘 다 참' : 'condition1만 참') : 'condition1 거짓';

들여쓰기를 활용하여 조건부 연산자 구분하기

소괄호도 가능하지만, 들여쓰기도 가능하다.

# 들여쓰기 바꾸기 전
let value = condition1 ? condition2 ? '둘 다 참' \
: 'condition1만 참' : 'condition1 거짓';

# 들여쓰기 바꾼 후
let value = condition1;
	? condition2
    	? '둘 다 참';
        : 'condition1만 참';
    : 'condition1이 거짓';

첫 번째 조건(condition1)이 참인 경우 중첩된 조건부 연산에 들어갔지만, 거짓이 들어갈수도 있다.

TEST

if 문과 switch 문을 조건부 연산자로 바꿔라

  1. if 문 -> 조건부 연산자
# if 문
let cond = true;
let value = '';

if (cond) {
	value = '참';
 } else {
	value = '거짓';
}

# 조건부 연산자

let cond = true;
let value = cond ? '참' : '거짓';
  1. switch 문 -> 조건부 연산자
# switch 문

let cond = true;
let value = '';

switch (cond) {
	case true :
    	value = '참 입니다.';
        break;
    case false :
    	value = '거짓 입니다.';
        break;
}

# 조건부 연산자

let cond = true;
let value = cond ? '참 입니다.' : '거짓 입니다.';
profile
Junior Backend Developer

0개의 댓글