python에서의 for in문을 자바스크립트의 for in 문과 동일하게 생각했다가 삽질해서 쓰는 글
배열(리스트)에서key : value가 있다고 해보자.
자스는 프로퍼티'명'(key)을 가져오는것이고 python이나 java는 프로퍼티 '값'(value)을 가져온다.
자바스크립트의 배열 var elements = ['a', 'b', 'c']가 있으면
0 : 'a'
1 : 'b'
2 : 'c'
가 되어서
for element in elements 를 할 때
파이썬의 경우 element에 'a', 'b', 'c'가 들어오지만 자바스크립트는 0, 1, 2가 들어온다는 것이다.
(그것도 정수형이 아닌 문자열로 가져오게 된다. console.log(typeof(element))를 해보면 Number가 아닌 String으로 나온다.)

파이썬에서 자바스크립트처럼
for element in elements:
print("element : " + element + " values : " + elements[element]);
를 썼다가 에러가 나는 상황을 볼 수 있다.
파이썬에서의 element에는 value값인 'a', 'b', 'c'가 들어가기 때문에
elements[element]를 할때 element에 정수형이 들어가야하는데 'a', 'b', 'c'가 들어가기 때문에 에러가 발생하는 것이다.
python의 for in 방식과는 다른 자스가 싫다면?
->for of 방식을 채택해보자.

잘못된 점이 있다면 지적 부탁드립니다.
오류정정은 항상 환영입니다.
반응형
'Javascript > 문법' 카테고리의 다른 글
| javascript reference (0) | 2022.10.02 |
|---|---|
| 자바스크립트 신문법 정리(optional chaining, nullish coalescing 연산자) (0) | 2022.06.18 |
| 객체 비구조화 할당 (객체 구조 분해) (0) | 2020.10.08 |
| 자바스크립트 사용시 주의해야 할 기본적인 문법 (0) | 2020.10.08 |
| innerHTML대신 textContent 사용을 지향하기 (0) | 2020.05.17 |