10. 조건 처리

Chipmunk_jeong·2021년 2월 16일
0

TIL

목록 보기
10/62
post-thumbnail

코드를 작성하다보면 어떠한 조건에 따라 다른 로직을 만들어야 할때가 있다.
그 때는 IF?를 사용할 수 있다.

IF문

if(조건) {
  참일때 실행될 코드
}

if뒤에 오는 괄호에는 조건식이 들어오게 되고, 그 조건이 참일 때 블럭({ })안의 코드가 실행이 된다.

if문의 실행 코드가 한줄이더라도 블럭을 사용하여 감싸주자!

조건으로 들어오는 타입

if문의 괄호 안으로 들어오는 조건식은 그 결과를 true 또는 false로 변환한다.
앞의 게시글에서 한번 다룬적이 있는 내용인데,
조건식으로 들어오는 값이 그냥 데이터 타입만 들어올 수 있다.
그러면 그 데이터가 truthy한 값이냐 아니면 falsey한 값이냐를 따진 뒤, 그결과를 boolean으로 변환한다.

if('') {  // 빈문자열은 falsey한 값으로 아래의 코드가 동작하지 않는다.
	...
}

if(1) {  // true
 	... 
}

falsey한 값인 false, 0, '', null, undefined, NaN, -0, 0n이 들어온다면 조건은 실행이 되지 않으며, 나머지 값들은 truthy한값으로 들어간다.

else if와 else

조건문을 사용하게 되면
조건이 참일 때 -> 로직1
조건이 거짓일 때 -> 로직2
이런식으로 조건에 따라 다르게 로직을 작성할 때 사용하는것이else절이다.

또한 조건을 여러번 확인 해야할 때는 else if절을 사용하면 된다.

let temp = 20;


if(temp > 19) {
  console.log('반팔을 입으시오');
}else {
  console.log('외투를 입으시오');
}


if(temp > 19) {
  console.log('반팔을 입으시오');
}else if(temp >5) {
  console.log('긴팔과 외투를 입으시오');
}else {
  console.log('내복과 패딩을 입으시오');
}

조건부 연산자

특정 조건에 따라 변수에 다른값을 할당 할때 사용하는 ?연산자가 있습니다.

let 나이 = 19.9;
let 미성년자여부 = (나이 < 20) ? '미성년자' : '성인';

위와 같이 ? 앞에서 조건을 따져 참일 때 2번째 값을 거짓일 때 3번째 값을 할당한다.

복수 조건에 else if를 사용하듯 다중 ?를 사용할 수 있다.

let 기온 = 20;
let= (기온 > 20) ? '반팔' :
(기온 > 10) ? '긴팔' :
(기온 > 0) ? ' 코트 :
'패딩과 내복';

'?' 연산자는 조건에따라 다른값을 '할당'할때 사용하는것을 권장함.

profile
Web Developer

0개의 댓글