조건문을 사용하면 특정 조건이 만족됐을 때 특정 코드를 실행할 수 있다.

 

if문

가장 기본적인 조건문은 if문이다.

if문은, "~한다면 ~~를 해라"를 의미한다

예시

const a = 1;
if (a + 1 === 2) {
  console.log('a + 1 이 2 입니다.');
}

결과는 "a+1이 2입니다."이 출력된다.

하지만 여기서 a를 0으로 바꾸면

const a = 0;
if (a + 1 === 2) {
  console.log('a + 1 이 2 입니다.');
}

결과는 아무것도 출력되지 않는다.

if문을 사용하면, 이렇게 특정 조건이 만족 될 때에만 특정 코드를 실행 시킬수 있다.

if (조건) {
  코드;
}

조건이 만족 됐을떄 샐행 시킬 코드가 {}로 감싸져있는데 이것을 코드 블록이라고 한다.

만약 조건이 true가 된다면 지정한 코드가 실행되고 false가 된다면 코드가 실행되지 않는다.

let 과 const는 다른 블록 범위에서는 똑같은 이름으로 선언 할수 있다.

다음코드를 한번 보자

 

const a = 1;
if (true) {
  const a = 2;
  console.log('if문 안의 a 값은 ' + a);
}
console.log('if문 밖의 a 값은 ' + a);

이코드는 if문에 조건을 true로 설정했기 때문에 코드 블록 내부의 코드가 무조건 실행이 된다.

결과는 다음과 같다

"if문의 안의 a 값은 2"
"if문 밖의 a 값은 1"

if-else문

if-else문은 "~~하다면~~하고,그렇지 않다면 ~~해라."를 의미한다.

예시코드

const a = 10;
if (a > 15) {
  console.log('a 가 15 큽니다.');
} else {
  console.log('a 가 15보다 크지 않습니다.');
}

위코드의 결과

"a 가 10보다 크지 않습니다."

특정 조건이 만족할 때와 만족하지 않을 때 서로 다른 코드를 실행해야 된다면 if-else구문을 사용할수 있다.

 

if-else if 문

if-else if문은 여러 조건에 따라 다른 작업을 해야 할 때 사용합니다.

예시 코드를 보자.

const a = 10;
if (a === 5) {
  console.log('5입니다!');
} else if (a === 10) {
  console.log('10입니다!');
} else {
  console.log('5도 아니고 10도 아닙니다.');
}

결과

"10입니다!"

한번 a값을 5로 바꾸고 실행해보고, 7로 바꾸고 실행해보면.

a = 5 -> "5입니다!"
a = 7 -> "5도 아니고 10도 아닙니다."

switch/case문

switch/case 문은 특정 값이 무엇이냐에 따라 다른 작업을 하고 싶을 때 사용

예시

const device = 'iphone';

switch (device) {
  case 'iphone':
    console.log('아이폰!');
    break;
  case 'ipad':
    console.log('아이패드!');
    break;
  case 'galaxy note':
    console.log('갤럭시 노트!');
    break;
  default:
    console.log('모르겠네요..');
}

device값을 'iphone', 'ipad','galaxy note','macbook'순서대로 바꿔가면서 코드를 실행해보자.

device값에 따라서 다른 결과가 출력된다.

switch/case문은 이와 같이 특정 값이 무엇이냐에 따라 다른 작업을 수행할수 있게 해준다.

switch/case문에서는 각 case에서 실행할 코드를 작성하고 맨 마지막에 break;를 해줘야 한다. break를 하지않으면 그 다음 case의 코드까지 실행해 버린다.

맨 아래의 default는 device값이 case로 준비하지 않은 값일 경우를 의미한다.

'공부내용정리 > JavaScript' 카테고리의 다른 글

객체  (0) 2021.04.14
함수  (0) 2021.04.13
연산자  (0) 2021.04.10
변수와 상수  (0) 2021.04.10
JavaScript Async - Await  (0) 2021.04.08

+ Recent posts