가오리의 코딩일기
8장 forEach, for…in, for…of 본문
🔗 arr.forEach(callback(currentValue[, index[, array]])[, thisArg])
: 주어진 callback을 배열에 있는 각 요소에 대해 오름차순으로 한 번씩 실행한다
→ 삭제했거나 초기화하지 않은 인덱스 속성에 대해서는 실행하지 않는다
→ currentValue: 처리할 현재 요소
→ index: 처리할 현재 요소의 인덱스
→ array: forEach()를 호출한 배열
→ thisArg: callback을 실행할 때 this로 사용할 값
const items = ['item1', 'item2', 'item3'];
const copy = [];
// for 반복문
for (let i = 0; i < items.length; i++){
copy.push(items[i]);
}
// forEach()
items.forEach(function(item){
copy.push(items);
}
🔗 for (variable in object) { …}
: 상속된 열거 가능한 속성들을 포함하여 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복한다
→ Symbol로 키가 지정된 속성은 무시한다
→ 객체의 key값과 value값을 뽑아내는데 유용하다
→ 객체의 키값의 수만큼 반복하여 첫 번째 키값부터 마지막 키값까지 반복한다
→ 객체의 모든 열거 가능한 속성에 대한 반복
→ variable: 매번 반복마다 다른 속성이름이 변수로 지정된다
→ object: 반복작업을 수행할 객체로 열거형 속성을 가지고 있는 객체
let animal = {
name: 'gaori',
age: 5,
size: '1m',
};
for (key in animal){
console.log(key, animal[key]);
}
// name gaori
// age 5
// size 1m
🔗 for (variable of iterable) { … }
: 반복가능한 객체를 반복한다 ex) Array, Map, Set, String
→ [Symbol.iterator] 속성을 가지는 컬렉션 전용
→ variable: 각 반복에 서로 다른 속성값이 variable에 할당된다
→ iterable: 반복되는 열거가능(enumerable)한 속성이 있는 객체
→ Array에 대한 반복(블록 내부 변수를 수정하지 않는다면 const value of iterable 사용 가능)
let iterable = [1,5,11];
for (let value of iterable) {
console.log(value);
}
// 1
// 5
// 11
→ String에 대한 반복
let iterable = 'gaori";
for (let value of iterable) {
conole.log(value);
}
// "g"
// "a"
// "o"
// "r"
// "i"
'HTML+CSS+JavaScript > DeepDive' 카테고리의 다른 글
8장 제어문: 코어 자바스크립트2 (0) | 2022.08.02 |
---|---|
8장 제어문: 코어 자바스크립트1 (0) | 2022.08.02 |
8장 함수형 프로그래밍, map, reduce, filter (0) | 2022.08.02 |
8장 제어문 (0) | 2022.08.01 |
7장 연산자: 코어 자바스크립트2 (0) | 2022.07.28 |