for of
는 배열 반복문이며 for in
에 비해 불필요한 속성들이 걸러져 출력된다.
for (let i of 'hello world') {
console.log(i);
}
구조 분해 할당으로 반복문 동작시키기
for (let [i, j] of [
[1, 2],
[3, 4]
]) {
console.log(i, j);
}
for (let [i, j] of [
[
[1, 2], 2
],
[
[1, 2], 4
]
]) {
console.log(i, j);
}
for (let [
[a, b], j
] of [
[
[1, 2], 2
],
[
[1, 2], 4
]
]) {
console.log(a, b, j);
}
for in
은 객체 반복문이며 객체의 모든 속성들을 대상으로 반복문을 수행한다.
key
값만 출력하기 때문에 value
값을 출력하려면 리터럴 형식으로 작성해야 한다.
이렇게 key
값만 출력한다는 것을 확인할 수 있다.
object
로 타입을 국한시켜 출력시켜 보기
let value = {
피카츄: 1,
라이츄: 2,
파이리: 3,
꼬부기: 4,
버터플: 5,
야도란: 6,
피죤투: 7,
또가스: 8,
메타몽: 9,
};
typeof value
'object'
for (let i in value) {
console.log(i);
}
리터럴 형식으로 value
값을 출력해 보는 방법
key
값과 문자열의 문자 하나하나가 번갈아 가며 출력되는 형태
for (let i in 'hello world') {
// key 값 출력
console.log(i);
// 문자열의 처음부터 끝까지 차례대로 출력
console.log('hello world' [i]);
}
key
값만 배열 형태로 반환한다.
let value = {
피카츄: 10,
라이츄: 20,
파이리: 30,
꼬부기: 40,
버터플: 50,
야도란: 60,
피죤투: 70,
또가스: 80,
메타몽: 90,
};
let 포켓몬 = Object.keys(value3);
for (let i of [10, 20, 30, 40]) {
console.log(i);
}
value
값만 배열 형태로 반환한다.
key : value
쌍을 배열 형태로 반환한다.
for (let i of Object.entries(value)) {
console.log(i);
}
key
와 value
를 각각 i와 j로 순회해 출력하기
for (let [i, j] of Object.entries(value)) {
console.log(i);
console.log(j);
}