Java script
[JavaScript] for .. in 문
은나으니
2023. 12. 7. 16:05
for.. in 문을 이용하면 객체 내부에 있는 모든 프로퍼티들을 불러올 수 있다.
for ( let 변수 in 객체)
객체의 프로퍼티를 하나씩 변수에 저장 (객체의 모든 프로퍼티들이 한번씩 선언한 변수에 저장된다)
let myObject = {
first: '알고리즘의 정석',
'second class': '컴퓨터 개론',
third: '프로그래밍 기초',
};
for (let key in myObject) {
console.log(myObject[key]);
}
결과값
알고리즘의 정석
컴퓨터 개론
프로그래밍 기초
숫자형(양수) 프로퍼티 이름 사용
let myObject = {
300: '정수',
1.2: '소수',
};
// 이떄 300과 1.2의 type은 string
숫자형 네임도 가능하다! 하지만 숫자형으로 저장되는 것이 아닌 문자열로 저장된다
console.log(myObject['300']);
console.log(myObject['1.2']);
console.log(myObject.300); // Error!
console.log(myObject.1.2); // Error!
객체는 정수형 프로퍼티 네임을 오름차순으로 먼저 정렬하고, 나머지 프로퍼티들은 추가한 순서대로 정렬하는 특징
let myObject = {
3: '정수3',
name: 'codeit',
1: '정수1',
birthDay: '2017.5.17',
2: '정수2',
};
for (let key in myObject) {
console.log(key);
}
결과값
1
2
3
name
birthDay
콘솔에 myObject를 출력하였을 때에도 결과값은 똑같다.
{1: "정수1", 2: "정수2", 3: "정수3", name: "codeit", birthDay: "2017.5.17"}
*주의*
자동으로 정렬되는 특성이 장점처럼 느껴질 수도 있지만 대부분의 경우에는 의도치 않은 결과를 가져올 수 있다는 점