다진 Javascript (5)

Kyle·2022년 6월 10일
0

Javascript

목록 보기
5/11
post-thumbnail

✔모던 자바스크립트 8장

참고 - https://poiemaweb.com/

제어문

1. 블록문

블록문 : 문들을 중괄호로 묶은 것 - 블록문은 세미콜론을 붙이지 않는다

// 블록문
{
  var foo = 10;
  console.log(foo);
}

// 제어문
var x = 0;
while (x < 10) {
  x++;
}
console.log(x); // 10

// 함수 선언문
function sum(x, y) {
  return x + y;
}
console.log(sum(1, 2)); // 3

2. 조건문

조건문 : 조건식의 평가 결과에 따라 코드 블록의 실행을 결정

2-1. if...else문

  • 조건식 1이 참이면 if문, 조건식 2가 참이면 else if문... 모두 거짓이면 else문
  • if문과 else문은 2번 이상 사용할 수 없지만 if...else문은 여러 번 사용할 수 있다.
  • 코드 블록 내의 문이 하나라면 중괄호를 생략할 수 있다.
  • if...else문은 삼항 조건 연산자로 바꿔 쓸 수 있지만 값으로 취급되지는 않는다.
var num = 2;

// 0은 false로 취급된다.
var kind = num ? (num > 0 ? '양수' : '음수') : '영';
console.log(kind); // 양수

2-2. switch문

switch문 : 표현식과 일치하는 값을 가진 case문으로 실행 순서를 이동시킨다.

💡 if else문은 논리적 참/거짓, switch는 다양한 상황(case)에 따라 실행
var season = '가을';
var seasonName;

switch (season) {
  case '봄':
    seasonName = 'Spring';
    break;
	case '여름':
    seasonName = 'Summer';
    break;
	case '가을':
    seasonName = 'Autumn';
    break;
	case '겨울':
    seasonName = 'Winter';
    break;
  default:
    monthName = 'Invalid season';
}

console.log(seasonName); // Autumn

3. 반복문

반복문 : 주어진 조건식의 결과가 참인 경우 코드 블럭을 실행하고 다시 검사해서 여전히 참이면 다시 실행한다. 조건문이 거짓일 때 까지 반복한다.

3-1. for문

  • 어떤 식도 선언하지 않으면 무한 루프이다.
  • 중첩 for문도 가능하다!

3-2. while문

var count = 0;

// 무한루프
while (true) {
  console.log(count);
  count++;
  // count가 3이면 코드 블록을 탈출한다.
  if (count === 3) break;
} // 0 1 2

3-3. do...while문

var count = 0;

// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다.
do {
  console.log(count);
  count++;
} while (count < 3); // 0 1 2

4. break문

break문 : 레이블 문, 반복문, switch문의 코드 블럭 이외에 사용하면 문법 에러가 발생한다. 반복문을 더 이상 진행하지 않아도 될 때 불필요한 반복을 회피할 수 있다.

💡 레이블 문은 실행 순서를 제어하기 위해 사용한다. ( ex) switch문의 case나 default문 )
// foo라는 식별자가 붙은 레이블 블록문
foo: {
  console.log(1);
  break foo; // foo 레이블 블록문을 탈출한다. -> 레이블 식별자
  console.log(2);
}

console.log('Done!');

5. continue문

continue문 : 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 조건식으로 이동한다. if문 내에서 실행해야 할 코드가 길다면 추천!

var string = 'Hello World.';
var count = 0;

// 문자열은 유사배열이므로 for 문으로 순회할 수 있다.
for (var i = 0; i < string.length; i++) {
  // 'l'이 아니면 현 지점에서 실행을 중단하고 반복문의 증감식으로 이동한다.
  if (string[i] !== 'l') continue;
  count++; // continue 문이 실행되면 이 문은 실행되지 않는다.
}

console.log(count); // 3

// 참고로 String.prototype.match 메소드를 사용해도 같은 동작을 한다.
console.log(string.match(/l/g).length); // 3
profile
불편함을 고민하는 프론트엔드 개발자, 박민철입니다.

0개의 댓글