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 |