자바스크립트 핵심가이드
자바스크립트 프로그램에서 흔한 오류 중 하나는 배열이 필요할 때 객체를 사용한다거나 객체가 필요할 때 배열을 사용하는 경우입니다. 규칙은 간단합니다. 속성 이름이 작은 크기의 연속된 정수이면 배열을 사용하고 그렇지 않은면 객체를 사용하는 것입니다.
1
더글락스 클락포드란 이름만으로 읽어야 하는 책 되겠다.
2
굉장히 핵심만 찌르고 있으며, 코드보다는 설명이 더 많다. 그런데 놓치기 참 힘든 설명이 많다. 꼭 봐야 한다. is_array() 같은 함수를 만드는 혜안을 가지고 싶다.
3
그냥 감사하는 마음으로 보자. 굉장히 번역도 잘되어 있다.
단순화된 자바스크립트에는 다음과 같은 좋은 것들만이 포함돼 있습니다. 1) 일급 객체 2) 프로토타입으로 상속을 하는 동적 객체 3) 객체 리터럴과 배열 리터릴
-
[…] 참고로 ECMAScript 명세에서 정의하고 있는 줄 종결자(Line Terminators)에는 CR, LF 외에도 LS(Line Separator), PS(Paragraph Separator)가 있습니다.
-
그러므로 가능하면 /* */ 사용하는 대신 //를 사용할 것을 권합니다.
-
Nan은 그 자신을 포함해서 어떤 값하고도 같지 않습니다. 그러므로 NaN인지 확인하려면 비교 구문이 아니라 isNaN()이라는 함수를 사용합니다.
-
다음은 거짓에 해당하는 값들입니다. { false, null, undefined, 빈 문자열, 숫자 0, NaN }
-
for in 형식은 보통 다음과 같이 object.hasOwnProperty 메소드로 속성 이름이 실제로 객체의 속성인지 아니면 프로토타입 체인(prototype chain) 상에 있는 것인지를 확인하는 것이 필요합니다.
-
객체는 이름과 값이 있는 속성들을 포함하는 컨테이너라고 할 수 있습니다. 속성의 이름은 문자열이면 모두 가능합니다.
-
설계상의 문제로 arguments는 실제 배열은 아닙니다. arguments는 배열 같은 객체입니다.
-
재귀 함수는 웹 브라우저의 DOM같은 트리 구조를 다루는데 매우 효과적입니다.
-
[…] 즉, 자신을 내포하는 함수의 문맥(context)에 접근할 수 있기 때문입니다. 이러한 것을 클로저(closure)라고 부릅니다.
-
데이터 타입 확인이 엄격하지 않은 자바스크립트는 캐스팅을 절대 하지 않습니다. 객체의 계보는 별 상관이 없습니다. 객체에서 중요한 점은 어떤 일을 하느냐지 어디서 유래했는지가 아닙니다.