Array와 Object, Enhanced for문과 그냥 for문

웹/Javascript | 2012. 7. 2. 12:08
Posted by 클라리넷

Array, Object가 하나씩 있고,

각각에 대해 원소들을 순서대로 접근하고 싶다면,


Array는 그냥 for문에다가 조건을 Array.length로 잡고,

 Object는 Enhanced for문을 쓰면 된다.


Array에서 Enhanced for문을 쓰면 Array 클래스에 내재된 함수까지 모조리 Enhanced에 걸린다.  그래서 결과가 이상하게 나오게 된다(isArray, copy, size 등등.  push, pop 같은 건 Array 객체에만 있는 거라서 나오지 않는다).


반대로, Object에서 Object.length를 쓰게 되면 length가 undefined로 나온다.  당연한 것이, Object는 배열이 아니기 때문에 원소의 개수를 셀 수 없다.  해쉬된 원소들을 셀 수 없냐고 하면 글쎄....  셀 수는 있을 거 같지만 위에서처럼 멤버 함수까지 모조리 세어지기 때문에 안 하지 않았을까 싶다.

' > Javascript' 카테고리의 다른 글

실수하면 디버깅이 안 되는 자바스크립트 실수  (0) 2011.12.18
 

디버깅 환경은 크롬!


undefined 상태인 변수를 비교 연산하기 OR undefined 상태인 변수에 대입하기

대입하기와 비교하기에서 undefined 값인 변수명을 사용할 경우
그냥 undefined값과 비교하는 것이 되기 때문에
아무런 에러가 뜨지 않는다. 

이 실수는 주로 오타(i.e. javascript <-> javacsript)로 인해 생긴다

' > Javascript' 카테고리의 다른 글

Array와 Object, Enhanced for문과 그냥 for문  (0) 2012.07.02
 

블로그 이미지

클라리넷

카테고리

Vie (12)
(6)
WebGL (0)
CSS (2)
Javascript (2)
JS 물리엔진 (2)
C++ (2)
게임 개발 (1)
게임하기 (0)
엔진 (0)
전자기기 (3)
Deep Learning (0)