자바스크립트 핵심가이드

자바스크립트 프로그램에서 흔한 오류 중 하나는 배열이 필요할 때 객체를 사용한다거나 객체가 필요할 때 배열을 사용하는 경우입니다. 규칙은 간단합니다. 속성 이름이 작은 크기의 연속된 정수이면 배열을 사용하고 그렇지 않은면 객체를 사용하는 것입니다.

1

더글락스 클락포드란 이름만으로 읽어야 하는 책 되겠다.

2

굉장히 핵심만 찌르고 있으며, 코드보다는 설명이 더 많다. 그런데 놓치기 참 힘든 설명이 많다. 꼭 봐야 한다. is_array() 같은 함수를 만드는 혜안을 가지고 싶다.

3

그냥 감사하는 마음으로 보자. 굉장히 번역도 잘되어 있다.

단순화된 자바스크립트에는 다음과 같은 좋은 것들만이 포함돼 있습니다. 1) 일급 객체 2) 프로토타입으로 상속을 하는 동적 객체 3) 객체 리터럴과 배열 리터릴


  1. […] 참고로 ECMAScript 명세에서 정의하고 있는 줄 종결자(Line Terminators)에는 CR, LF 외에도 LS(Line Separator), PS(Paragraph Separator)가 있습니다.

  2. 그러므로 가능하면 /* */ 사용하는 대신 //를 사용할 것을 권합니다.

  3. Nan은 그 자신을 포함해서 어떤 값하고도 같지 않습니다. 그러므로 NaN인지 확인하려면 비교 구문이 아니라 isNaN()이라는 함수를 사용합니다.

  4. 다음은 거짓에 해당하는 값들입니다. { false, null, undefined, 빈 문자열, 숫자 0, NaN }

  5. for in 형식은 보통 다음과 같이 object.hasOwnProperty 메소드로 속성 이름이 실제로 객체의 속성인지 아니면 프로토타입 체인(prototype chain) 상에 있는 것인지를 확인하는 것이 필요합니다.

  6. 객체는 이름과 값이 있는 속성들을 포함하는 컨테이너라고 할 수 있습니다. 속성의 이름은 문자열이면 모두 가능합니다.

  7. 설계상의 문제로 arguments는 실제 배열은 아닙니다. arguments는 배열 같은 객체입니다.

  8. 재귀 함수는 웹 브라우저의 DOM같은 트리 구조를 다루는데 매우 효과적입니다.

  9. […] 즉, 자신을 내포하는 함수의 문맥(context)에 접근할 수 있기 때문입니다. 이러한 것을 클로저(closure)라고 부릅니다.

  10. 데이터 타입 확인이 엄격하지 않은 자바스크립트는 캐스팅을 절대 하지 않습니다. 객체의 계보는 별 상관이 없습니다. 객체에서 중요한 점은 어떤 일을 하느냐지 어디서 유래했는지가 아닙니다.

Written on July 24, 2014