[Study/JavaScript] for...in 반복문

SoShy·2023년 11월 29일

JavaScript_Study

목록 보기
11/36
post-thumbnail

🥕 for...in 반복문

  • 객체의 property 갯수만큼 반복
  • 객체 내부에 있는 모든 property 값들을 하나씩 다뤄야 하는 경우에 사용

기본 구조

for (변수 in 객체) {
  동작부분
}

예시

let rabbit = {
  name: '소샤이',
  bornYear: 2023,
  isVeryNice: true,
  worstCourse: null,
  bestCourse: '소샤이에 대하여'
}

for (let key in rabbit) {
  console.log(key);
}
.
.
.
>>> name
	bornYear
	isVeryNice
	worstCourse
	bestCourse
let rabbit = {
  name: '소샤이',
  bornYear: 2023,
  isVeryNice: true,
  worstCourse: null,
  bestCourse: '소샤이에 대하여'
}

for (let key in rabbit) {
  console.log(rabbit[key]);
}
.
.
.
>>> 소샤이
	2023
	true
	null
	소샤이에 대하여

  • 정수형 property name이 있을 경우, 오름차순으로 먼저 정렬한 후, 나머지 property들은 추가한 순서대로 정렬
let myObject = {
  '2': '알고리즘의 정석',
  '3': '컴퓨터 개론',
  '1': '자바스크립트 프로그래밍 기초',
};

for (let key in myObject) {
  console.log(myObject[key]);
}
.
.
.
>>> 자바스크립트 프로그래밍 기초
	알고리즘의 정석
	컴퓨터 개론
let myObject = {
  3: '정수3',
  name: 'soshy',
  1: '정수1',
  birthDay: '2017.5.17',
  2: '정수2',
};

for (let key in myObject) {
  console.log(key);
}
.
.
.
>>> 1
	2
	3
	name
	birthDay

  • 위와 같이, property name에 숫자형을 사용할 수는 있지만, 문자열로 암시적 형변환 됨.
  • 접근할 때는, 대괄호 표기법만 가능
let myObject = {
  300: '정수',
  1.2: '소수',
};

for (let key in myObject) {
  console.log(`${key}의 자료형은 ${typeof key}입니다.`);
}
.
.
.
>>> 300의 자료형은 string입니다.
	1.2의 자료형은 string입니다.
let myObject = {
  300: '정수',
  1.2: '소수',
};

console.log(myObject['300']);
console.log(myObject['1.2']);
console.log(myObject.300); // Error!
console.log(myObject.1.2); // Error!
profile
프론트엔드 개발자가 되기 위해 노력 중인 새싹🌱 입니다.

0개의 댓글