가오리의 코딩일기

8장 forEach, for…in, for…of 본문

HTML+CSS+JavaScript/DeepDive

8장 forEach, for…in, for…of

류경혜 2022. 8. 2. 22:00

🔗 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"