The developer say code.
배열인 경우는 index를 출력한다.
객체인 경우는 key 값을 순서대로 출력한다. 객체를 만약 {a:1, c:2, b:3} 이렇게 입력했으면, a,c,b 순서로 출력을 행한다.
이런 특성을 Enumerable 이라고 한다고 한다. Enumerable 이라는 것 자체가 순서를 열거할 수 있는 것에 대한 것을 말한다.
사실 find나 map, filter 같은 것도 모두 동일한 특성을 갖고 있다. (추가적인 자료는 밑에 참조 경로를 참조)
index 나 key를 string 으로 받기 때문에 index가 있거나, key가 있을 때, 예를 들어,
if(Array.key=== "a") { /* codes */} 같은 방식으로 실행이 가능 할 것 같다.
input
console.log("typeof Array");
const array = [1,2,3];
for (let index in array){
console.log(index, array[index]);
}
console.log("typeof OBJ");
const obj = {
a : 1,
b : 2,
c : 3,
}
for (let key in obj){
console.log(key, obj[key]);
}
output
// Console
"typeof Array"
"0" 1
"1" 2
"2" 3
"typeof OBJ"
"a" 1
"b" 2
"c" 3
출처 : https://jsdev.kr/t/for-in-vs-for-of/2938
참조 :
https://developer.mozilla.org/ko/docs/Web/JavaScript/Enumerability_and_ownership_of_properties
'Javascript > Basic' 카테고리의 다른 글
[JavaScript] ES6 알아야 할 기능 (0) | 2022.06.15 |
---|---|
[코딩테스트/배열] Two Sum by LeetCode (0) | 2022.03.12 |
[javascript/basic] import / export 구문과 코딩 스타일 짧은 정리 (0) | 2022.01.06 |
try / catch 를 사용해야 하는 이유 (0) | 2021.06.10 |
[JavaScript] 자바스크립트 배열 추가, 삭제 방법 (push, pop, splice) [펌] (0) | 2021.05.28 |
[javascript] try..catch & 에러 핸들링 (0) | 2021.05.27 |
[Basic] 특정 기간 내 배너 띄우기, 현재 시각 확인 하기 (0) | 2021.05.21 |
댓글