JS- 조건부 연산자?
JS- 조건부 연산자?
오늘은 저번 글에 다뤘던
if 문과 관련된 조건부 연산자에 대해
알아보겠습니다.
조건부 연산자는 '물음표 연산자'라고도 불립니다.
이유는 조건부 연산자는 '?'를 사용하기 때문입니다.
조건부 연산자의 특징은
보통 연산자와 달리 피연산자가 3개라는 것입니다.
※
여기서 피연산자란
a+b라는 식이 있을 때
a는 왼쪽의 피연산자,
b는 오른쪽의 피연산자라고 불립니다.
위에 식은 한 가지 연산에(+)
2가지의 피연산자 있어서
이항 연산자라고 불리고
만약 -1과 같은 음수 형은
한 개의 피연사를 가지기 때문에
단항 연산자라고 불립니다.
※
본론으로 돌아가
조건부 연산자는
JS에서 유일하게 한 연산자에
3가지 피연산자를 가지는
'삼항 연산자'라고 할 수 있습니다.
예시를 보기 전에
if 문과 관련이 있다고 말씀드렸습니다.
이유는 if 문과 같은 결과의 값을 실행을 할 수 있고
if 문 보다 더 간단하게 작성할 수 있기 때문입니다.
let name = prompt('이름을 입력해주세요.')
if(name == 'james'){
alert('환영합니다.');
} else {
alert('취소되었습니다.')
}
라는 if 문 예시가 있습니다.
이 예시를 조건부 연산자로
변환하면
let name = prompt('이름을 입력해주세요.);
let result = name? '환영합니다.' : '취소되었습니다.';
이렇게 변환할 수 있습니다.
결과는 같습니다.
위에 if 문과 결과는 같지만
정말 짧게 정리를 할 수 있는 장점을 가진 연산자입니다.
하지만 이런 장점을 가진 조건부 연산자 보다
현재 if 문을 더 많이 사용하고 있는데
이유는 똑같이 실행되고 간단하게 작성할 수 있지만
if 문 보다 가독성이 떨어진다는 이유 때문입니다.
코드가 길어지면 수정하기 위해
가독성이 높은 코드가 필요합니다.
조건부 연산자는 비록 짧고 간단하게
코드를 작성하지만
if 문 보다 가독성이 떨어지기 때문에
상황에 따라 사용하시면 좋겠습니다.
물론 똑같이 실행되기 때문에
선호하시는 방식으로 진행하시되
저는 if 문을 더 추천드리겠습니다.
오늘 조건부 연산자를 다루는 이유는
이런 방식도 있다는 것을
알려드리고 싶었고
JS를 공부하시다 보면
만날 수 있기 때문입니다.
많은 장점을 가지고 있기 때문에
가독성에 불편함이 없다면
사용하셔도 무방합니다.
이제 마지막으로
조건부 연산자로 else if를
대신하는 방법을 알려드리고 마무리하겠습니다.
조건부 연산자도 ':'를 사용해서
else if와 같이 사용할 수 있습니다.
우선 코드를 보여드리고 설명드리겠습니다.
let age = prompt('나이를 입력해주세요.');
let old = (age <5)? 'baby' :
(age < 13) 'kid' :
(age < 19) 'student' :
'당신은 어른입니다.';
이 코드를 보시면 prompt 모달 창에
나이를 나타내는 숫자를 입력하시면
5 미만이면 baby가
13 미만이면 kid가
19 미만이면 student가
아무 곳도 속하지 않으면
'당신은 어른입니다.'가 출력됩니다.
위에 코드를 if 문을 사용하면
let age = prompt('나이를 입력해주세요.');
if(age < 5){
old = 'baby';
} else if(age <13){
old = 'kid';
} else if(age <19){
old = 'student';
} else {
'당신은 어른입니다.'
}
로 표현할 수 있습니다.
오늘은 조건부 연산자에 대해 알아보았습니다.
조건부 연산자는 if 문을 정말 간단하고
짧게 변환시켜줄 수 있는 유용한 기능입니다.
하지만 가독성이 떨어진다는 이유로 현재
많은 사람들은 if 문을 사용하고 있습니다.
그렇지만 사용하는데 이상은 없기 때문에
이 방식이 더 맞다고 생각되시면
사용하셔도 무방합니다.
그리고 한 가지 더 알아두셔야 하는 점은
중간에 피연산자에 대해
잠깐 언급한 것이 있습니다.
그 부분에 대해서도 간단하게나마
알아두시면 좋겠습니다.
오늘도 봐주셔서 감사합니다!
