[JavaScript] 제어문

728x90

1. 조건문

1) if-else문

자바스크립트에서 if-else문은 true일때 if의 블록을 실행하고, false일때 else의 블록을 실행하는 조건문입니다.

그래서 조건은 true인지 false인지만 확인합니다.

예제를 통해 자세히 알아보겠습니다.

 

let result = true;
//result = false;

//실행문이 한줄밖에 없을 경우 실행블록({})을 생략가능
if (result) console.log('참입니다.'); //출력
else console.log("거짓입니다.") //출력안됨

위 코드를 실행해보면 참입니다. 가 출력되는 것을 볼 수 있습니다. result 변수를 false로 변경하면 거짓입니다가 출력됩니다.

 

실행문이 두줄이상일 경우에는 아래처럼 실행블록을 반드시 넣어야합니다.

let result = true;
//result = false;

if (result){
 console.log("이 문장은");
 console.log('참입니다.');

}
else{
 console.log("이 문장은");
 console.log("거짓입니다.");
}

 

2) switch문

switch문은 if-else문과 다르게 경우에 수에 따라 다른 문장을 실행하는 것입니다.

그런데 switch문에서 주의해야할 점은 break를 적절한 곳에 넣어줘야 한다는 것입니다.

const fingersOut = 2;

switch (fingersOut) {
  // 순서 상관없음
  case 2:
    console.log('가위'); //break가 없으면 아래가 모두 실행됨
    break;
  case 0:
    console.log('바위');
    break;
  case 5:
    console.log('보');
    break;
  default: //default는 케이스가 없는 경우 실행
    console.log('무효');
}

 

switch문의 특성을 사용하여 아래처럼 코드를 짜는 것도 가능합니다.

const month = 1;
let season = '';

switch (month) {
  case 1: case 2: case 3:
    season = '1분기'; break; //1,2,3은 1분기

  case 4: case 5: case 6:
    season = '2분기'; break; //4,5,6은 2분기

  case 7: case 8: case 9:
    season = '3분기'; break; //7,8,9는 3분기

  case 10: case 11: case 12:
    season = '4분기'; break; //10,11,12는 4분기

  default: 
    season = '잘못된 월입니다.';
}

console.log(season); //1분기

 

자바스크립트에서 switch문은 객체를 사용하여 실행하는 것도 가능합니다.

const direction = 'north'

const directionKor = {
  north: '북',
  south: '남',
  east: '동',
  west: '서'
}[direction] ?? '무효'

console.log(directionKor); // 북

 

2. 반복문

1) for문

1] 기본 사용방법

for문의 기본 사용방법은 아래와 같습니다.

for(let 변수=초기화값; 변수의 범위;변수의 증감){
	//실행문
}

 

예제를 통해서 확인해보겠습니다.

for (let i = 0; i < 5; i++) {
  console.log(i);
}
//출력:
//0
//1
//2
//3
//4
//5

for (let i = 0; i < 5;) {
  console.log(i++); //변수의 증감을 실행문에서 표현도 가능
}
//출력:
//0
//1
//2
//3
//4
//5

for (let i = 10; i >= 0; i-= 2) { //변수의 범위가 0보다 크거나 같을 때까지 2씩 감소
  console.log(i);
}
//출력:
//10
//8
//6
//4
//2
//0

 

반복문을 중첩으로 사용하는 것도 가능합니다. 아래 예제는 중첩반복문에서 많이 사용하는 구구단 출력코드입니다.

for (let i = 1; i <= 9; i++) {
  for (let j = 1; j <= 9; j++) {
    console.log(`${i} X ${j} = ${i * j}`);
  }
}

 

for문안에서 변수를 선언할 때 두개 이상의 변수를 사용하는 것도 가능합니다.  

for (let x = 0, y = 10; x <= y; x++, y--) { 
//x는 0, y는 10으로 초기화한 후 x값이 y값보다 작거나 같을때까지 x는 1씩 증가, y는 1씩 감소
  console.log(x, y);
}
//출력:
//0 10
//1 9
//2 8
//3 7
//4 6
//5 5

for (
  let x = true, y = 0, z = 0; //초기화부분
  y * z < 10; //범위
  x = !x, x ? y++ : z++ //증감
) {
  console.log(y, z);
}

//출력:
//0 0
//0 1
//1 1
//1 2
//2 2
//2 3
//3 3

2] 객체를 이용한 for문

객체를 이용한 방법은 아래와 같습니다.

for(변수 in 객체){
	//실행문
}

 

그런데 위에서 변수는 객체에서 key값을 반환합니다. 그리고 객체에서 key는 유일하므로 const로 선언하는 것이 좋습니다.

예제를 통해 살펴보겠습니다.

const lunch = {
  name: '라면',
  taste: '매운맛',
  kilocalories: 500,
  cold: false
}

for (const key in lunch) { 
  console.log(key, ':', lunch[key])
}
//출력:
//name : 라면
//taste : 매운맛
//kilocalories : 500
//cold : false

 

당연히 key의 변수명은 key라고 하지 않아도 됩니다.

3] 이터러블한 자료형에서의 for문

이터러블한 자료형이란 순서대로 나열가능한 자료형. 즉,인덱스가 있는 것을 의미합니다.

예컨대 리스트형은 [a,b,c,..] 등등으로 이터러블하며 문자열도 이터러블한 자료형이 됩니다.

왜냐하면 '안녕하세요'라는 문자열은 '안','녕','하','세','요'로 나열 가능합니다. 당연히 첫번째 인덱스의 값도 '안'이 됩니다.

 

//리스트
const list = [1, '가나다', false, null];

for (const item of list) {
  console.log(item);
}
//출력:
//1
//가나다
//false
//null

문자열을 이용한 for문
for (const word of '안녕하세요') {
  console.log(word);
}
//출력:
//안
//녕
//하
//세
//요

 

2) while, do while

while문과 do while문은 변수선언 키워드를 제외하고는 자바와 동일합니다.

따라서 아래 페이지에서 확인하시면 됩니다.

[JAVA] 제어문 (tistory.com)

 

[JAVA] 제어문

제어문에는 조건문, 반복문 등이 있습니다.1.조건문1) if-else문if-else문은 조건의 참과 거짓을 판단하여 실행문을 실행할지 말지를 결정하는 제어문입니다.boolean result = true;int a = 10, b = 20;int c = 15;/

zero-week.tistory.com

 

 

'JAVASCRIPT Programming > Javascript' 카테고리의 다른 글

[JavaScript] 객체  (0) 2024.08.06
[JavaScript] 일급 객체  (0) 2024.07.25
[JavaScript] 함수  (0) 2024.07.21
[JavaScript] 블록과 스코프  (0) 2024.07.18
[JavaScript] 자료형과 연산자  (0) 2024.07.16