[자바스크립트] if와 '?'를 사용한 조건 처리
글 작성자: 망고좋아
반응형
if와 '?'를 사용한 조건 처리
- 조건에 따라 다른 행동을 취할 때
if
문 조건부 연산자?
를 사용하면 된다.
if문
if(...)
문은 괄호 안에 들어가는 조건을 평가하는데, 그 결과가true
이면 코드 블록이 실행됩니다.
let year = prompt('ECMAScript-2015 명세는 몇 년도에 출판되었을까요?', '');
if (year == 2015) {
alert( "정답입니다!" );
alert( "아주 똑똑하시네요!" );
}
불린 형으로 변환
if(..)
문은 괄호 안에0
, 빈 문자열""
,null
,undefined
,NaN
은 불린 형으로 변환 시 모두false
가 된다.
조건부 연산자 '?'
- 조건에 따라 다른 값을 변수에 할당해줘야 할 때가 있다.
let accessAllowed;
let age = prompt('나이를 입력해 주세요.', '');
if (age > 18) {
accessAllowed = true;
} else {
accessAllowed = false;
}
alert(accessAllowed);
- 물음표(question mark) 연산자’라고도 불리는 '조건부(conditional) 연산자’를 사용하면 위 예시를 더 짧고 간결하게 변형할 수 있다.
?
연산자의 문법 구조
let result = condition ? value1 : value2;
- 평가 대상인
condition
이 truthy라면value1
이, 그렇지 않으면value2
가 반환
let accessAllowed = (age > 18) ? true : false;
// 동일하게 동작함
// 비교 연산자 자체가 true or false를 반환하기 때문에 물음표 연산자를 사용하지 않아도 된다.
let accessAllowed = age > 18;
⚠️ 주의
- 물음표 연산자를 if문 대용으로 사용하는 것은 좋지 않다.
다중 '?'
?
를 여러 개 연결하면 복수의 조건을 처리할 수 있다.
let age = prompt('나이를 입력해주세요.', 18);
let message = (age < 3) ? '아기야 안녕?' :
(age < 18) ? '안녕!' :
(age < 100) ? '환영합니다!' :
'나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';
alert( message );
📌 참고
반응형
'프로그래밍 > JavaScript' 카테고리의 다른 글
[자바스크립트] null 병합 연산자 -'??' (0) | 2021.06.29 |
---|---|
[자바스크립트] 논리 연산자 (0) | 2021.06.29 |
[자바스크립트] 비교 연산자 (0) | 2021.06.29 |
[자바스크립트] 기본 연산자와 수학 (0) | 2021.06.29 |
[자바스크립트] 자바스크립트 형 변환 (type conversion) (0) | 2021.06.29 |
댓글
이 글 공유하기
다른 글
-
[자바스크립트] null 병합 연산자 -'??'
[자바스크립트] null 병합 연산자 -'??'
2021.06.29 -
[자바스크립트] 논리 연산자
[자바스크립트] 논리 연산자
2021.06.29 -
[자바스크립트] 비교 연산자
[자바스크립트] 비교 연산자
2021.06.29 -
[자바스크립트] 기본 연산자와 수학
[자바스크립트] 기본 연산자와 수학
2021.06.29