JavaScript의 세번째 정리글입니다.
반복문 (for
/ while
), 함수 (재귀함수 / 콜백 함수) 에 대한 내용입니다.
for (선언문; 조건문; 증감문) { 코드 블록 }
선언문(Init Expression), 조건문(Test Expression), 증감문(Update Expression) 형태로 이루어진 반복문입니다.
조건문이 fail이 되기 전까지 코드 블록을 계속 반복 수행합니다.
선언문, 조건문, 증감문 자리에 공백 입력이 가능합니다.
ㄴ for(;;) = 무한루프를 돌게 돼요!
추후 알고리즘을 짜는데 유용하게 쓰입니다.
아래와 같은 형식입니다.
바깥의 for문 내부에 for문을 중첩하여 순차적으로 돌게 됩니다.
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
console.log(`${i} + ${j} = ${i + j}`);
}
}
객체의 key, value 형태를 반복하여 수행하는데 최적화 된 유형입니다.
첫번째부터 마지막까지, 객체의 키 개수만큼 반복합니다.
Collection 객체 자체가 Symbol.iterator 속성(property)을 가지고 있어야 동작 가능한 유형입니다.
ES6에 새로 추가된 Collection 기반의 반복 구문입니다.
- while (조건문) {코드 블록}
- do {코드 블록} while (조건문)
조건문이 참일 때 코드 블록을 계속해서 반복 수행하는 반복문입니다.
for 문과 달리 선언문과 증감문 없이 loop를 수행하며, 무한 loop 수행시에 많이 사용됩니다.
조건문을 코드 블록보다 아래로 옮긴 do ... while 반복문도 존재합니다.
ㄴ 최소 한 번 수행이 필요할 때 사용됩니다.
❗️ Label 은 goto문이라서 정감가진 않습니다... 별로 쓰고싶진 않네요
함수는 다수의 명령문을 코드 블록으로 감싸고, 하나의 실행 단위로 만든 코드의 집합입니다.
유사한 동작을 하는 코드를 하나로 묶어 범용성을 확대시킨 블록 코드입니다.
함수는 정의 부분 / 호출 부분으로 구성됩니다.
함수의 구성요소 중
✅ 함수는 대부분 한가지 일만 하며, 매개변수는 최대 3개 이내로 작성을 권장합니다.
JavaScript 함수는 매개변수와 인수의 개수가 일치하는지 확인하지 않습니다.
ES6에서 도입된 기본값을 통해 undefined
변수가 들어올 경우 값 초기화를 지정할 수 있습니다.
return
후 코드는 수행되지 않으며, default return value는 undefined
입니다.함수 스스로 자신을 참조해 호출하면서 동일한 코드가 계속적으로 수행되는 함수 호출 방법입니다.
재귀 함수는 특정 조건이 됐을 때 자신을 그만 호출되도록 제한하는 exit code가 필요합니다.
❗️ 처음 접하면 어려울 수 있습니다. C 언어 코딩 도장 에 그림으로 잘 설명되어있습니다.
콜백 함수(Callback Function)란 다른 함수의 매개변수로 전달되어 수행되어지는 함수입니다.
고차 함수(Higher-order Function)란 매개변수를 통해 함수를 받아 호출하는 함수입니다.
Java에서의 메서드 오버라이딩(Overriding)과 비슷한 개념입니다.
let a = 1;
let add = function (b) { b = b + 1; }; // 호출자
add(a); // 호출됨
console.log(a); // 1 출력
let a = { v: 1 };
let add = function (b) { b.v = b.v + 1; }; // 호출자
add(a); // 호출됨 (주소 참조)
console.log(a); // 2 출력
2022/03/03 추가 & 수정중...