for..in
for in 반복문은 객체에서 주로 사용
- 객체 자료형에서 ‘열거’ 할 수 있는 자료들을 순회할 수 있도록 해준다
- 특정 순서에 따라 인덱스를 반환하는 것을 보장 할 수 없다 (반복되는 순서가 구현에 따라 다르다)
- 배열 데이터에서는 인덱스값이 중요하므로 forEach나 for..of를 권장한다
1 | for (variable in object) { ... } |
variable : 매번 반복마다 객체의 키 값이 variable로 지정된다
object : 반복 작업을 수행할 객체 (열거형 속성을 가지고 있는객체 )
객체 데이터는 만들때 개발자가 적은 키:밸류 값만 저장되는게 아닌 그 외 숨겨진 속성 3개가 같이 저장된다
1 | 숨겨진 속성을 확인해보는 메서드 Object.getOwnPropertyDescriptor() |
숨겨진 속성들을 이용해 객체데이터의 값을 열거불가,수정불가,삭제불가 등을 할 수있음..
writable 이 false 이면 변경불가 → default : true
enumerable 이 false 이면 열거 불가 → default : true
configurable 이 false 이면 enumerable 및 configurable을 변경 불가 및 삭제 불가 하지만 쓰기 writable은 가능 → default : true