JavaScript 기본 - 3

Flex·2022년 3월 3일
0

JavaScript 모음

목록 보기
3/8
post-thumbnail

JavaScript의 세번째 정리글입니다.
반복문 (for / while), 함수 (재귀함수 / 콜백 함수) 에 대한 내용입니다.


☕️ 반복문 for

for (선언문; 조건문; 증감문) { 코드 블록 }

  • 선언문(Init Expression), 조건문(Test Expression), 증감문(Update Expression) 형태로 이루어진 반복문입니다.

  • 조건문이 fail이 되기 전까지 코드 블록을 계속 반복 수행합니다.

  • 선언문, 조건문, 증감문 자리에 공백 입력이 가능합니다.
    ㄴ for(;;) = 무한루프를 돌게 돼요!

💡 2중 for문

추후 알고리즘을 짜는데 유용하게 쓰입니다.

  • 아래와 같은 형식입니다.

  • 바깥의 for문 내부에 for문을 중첩하여 순차적으로 돌게 됩니다.

for (let i = 0; i < 3; i++) {
  for (let j = 0; j < 3; j++) {
    console.log(`${i} + ${j} = ${i + j}`);
  }
}

💡 for .. in 반복문

  • 객체의 key, value 형태를 반복하여 수행하는데 최적화 된 유형입니다.

  • 첫번째부터 마지막까지, 객체의 키 개수만큼 반복합니다.

💡 for .. of 반복문

  • Collection 객체 자체가 Symbol.iterator 속성(property)을 가지고 있어야 동작 가능한 유형입니다.

  • ES6에 새로 추가된 Collection 기반의 반복 구문입니다.

💻 예제 코드 보러 가기


☕️ 반복문 while

  • while (조건문) {코드 블록}
  • do {코드 블록} while (조건문)
  • 조건문이 참일 때 코드 블록을 계속해서 반복 수행하는 반복문입니다.

  • for 문과 달리 선언문과 증감문 없이 loop를 수행하며, 무한 loop 수행시에 많이 사용됩니다.

  • 조건문을 코드 블록보다 아래로 옮긴 do ... while 반복문도 존재합니다.
    최소 한 번 수행이 필요할 때 사용됩니다.

💻 예제 코드 보러 가기


☕️ 반복문 제어

  • break
    • 반복문 수행 시 코드 블록을 탈출할 때 사용되는 식별자입니다.
    • 일반적으로 if 조건문과 함께 쓰입니다.
    • 다중 반복문일 경우 가장 안쪽의 반복문만 종료합니다.
    • Label을 통해 다중 반복문을 한번에 종료 가능합니다.
      ㄴ Label : 반복문 앞에 콜론과 함께 쓰이는 식별자
  • continue
    • 반복문 수행 시 코드 블록 실행을 해당 라인에서 중지하고 블록 코드를 종료 시킨 후 반복문 내에 명시된 조건문으로 넘어갑니다.

❗️ Label 은 goto문이라서 정감가진 않습니다... 별로 쓰고싶진 않네요

💻 예제 코드 보러 가기

💻 반복문 연습문제 보러 가기


☕️ 함수

  • 함수는 다수의 명령문을 코드 블록으로 감싸고, 하나의 실행 단위로 만든 코드의 집합입니다.

  • 유사한 동작을 하는 코드를 하나로 묶어 범용성을 확대시킨 블록 코드입니다.

  • 함수는 정의 부분 / 호출 부분으로 구성됩니다.

  • 함수의 구성요소 중

    • 이름은 필수입니다.
    • 매개변수와 반환결과는 필수가 아닌 선택사항입니다.

✅ 함수는 대부분 한가지 일만 하며, 매개변수는 최대 3개 이내로 작성을 권장합니다.

💡 함수 호출

  • JavaScript 함수는 매개변수와 인수의 개수가 일치하는지 확인하지 않습니다.

  • ES6에서 도입된 기본값을 통해 undefined 변수가 들어올 경우 값 초기화를 지정할 수 있습니다.

💡 함수 반환

  • 함수에서 return 후 코드는 수행되지 않으며, default return value는 undefined 입니다.

💻 예제 코드 보러 가기


☕️ 재귀함수 (Recursive)

  • 함수 스스로 자신을 참조해 호출하면서 동일한 코드가 계속적으로 수행되는 함수 호출 방법입니다.

  • 재귀 함수는 특정 조건이 됐을 때 자신을 그만 호출되도록 제한하는 exit code가 필요합니다.

❗️ 처음 접하면 어려울 수 있습니다. C 언어 코딩 도장 에 그림으로 잘 설명되어있습니다.

💻 예제 코드 보러 가기


☕️ 콜백 함수 (Callback)

  • 콜백 함수(Callback Function)란 다른 함수의 매개변수로 전달되어 수행되어지는 함수입니다.

  • 고차 함수(Higher-order Function)란 매개변수를 통해 함수를 받아 호출하는 함수입니다.

  • Java에서의 메서드 오버라이딩(Overriding)과 비슷한 개념입니다.

💻 예제 코드 보러 가기

💡 call by *

  • call by value
    • 값에 의한 복사로, 함수 내에서 매개변수 값을 변경시켜도 영향이 미치지 않습니다.
    • 원시 타입(primitive type)을 매개 변수로 넘겼을 때 발생합니다.
let a = 1;
let add = function (b) { b = b + 1; }; // 호출자
add(a); // 호출됨
console.log(a); // 1 출력
  • call by reference
    • 주소에 대한 복사로 함수 내에서 매개 변수 내 값을 변경시키면 원본 데이터에도 영향을 받습니다.
    • 객체 타입(object type)을 매개 변수로 넘겼을 때 발생합니다.
let a = { v: 1 };
let add = function (b) { b.v = b.v + 1; }; // 호출자
add(a); // 호출됨 (주소 참조)
console.log(a); // 2 출력

2022/03/03 추가 & 수정중...

profile
💵 오늘을 살자

0개의 댓글