336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
요즘 개인적으로 자바스크립트를 공부하고 있다. 하지만 내 경우 어정쩡하게 알고 있는 자바스크립트라 기초책은 보나마나인데, 이 책은 정말 실무에서도 바로 쓸 수 있는 패턴을 뽑아서 먹여주는 책 같다. 이 책과 더불어 자바스크립트 성능 최적화도 보면 정말 좋겠다. 아무튼 이 책을 요약하면서 정리하고자 한다. 이 책은 정말 강력 추천하며 자바스크립트를 제대로 학습하기 위한 필수 소장서이다.
책구입 : http://tinyurl.com/7ejd4rs
출판사 책소개 : http://blog.insightbook.co.kr/245
자바스크립트 코딩기법과 핵심패턴 제 3장 리터럴과 생성자 정리
이 장에서 중요한 것은 생성자 사용을 자제하고 리터럴 표기법을 사용하라는 것임!
- 리터럴 표기법이 생성자 함수 사용보다 더 간결하고 짧다.
- 리터럴 표기법을 사용하면 유효범위 판별 작업이 발생하지 않는다.
- 리터럴 표기법을 사용하는 것이 더 안정적이다. new Object()에 인자가 동적으로 전달되는 경우 예기치 않는 결과가 나올 수 있다. var o = new Object(1);에서 o.constructor === Number는 true가 된다.
- 생성자는 함수내에 반환문이 없더라도 암묵적으로 this를 반환한다. 이 말은 this대신 다른 것도 반환할 수 있다는 것을 의미한다.
- 생성자 패턴을 사용하면 논리적 오류가 발생할 수 있다. 자바스크립트에서 생성자는 함수일 뿐이므로 new를 빼먹으면 생성자 내부에 this는 전역 객체를 가리키게 되어 의도치 않는 결과를 초래할 수 있다. 이를 우회하기 위해 다음과 같은 패턴을 사용한다.
1.
if
(
typeof
Array.isArray ===
"undefined"
) {
2.
Array.isArray =
function
(arg) {
3.
return
Object.prototype.toString.call.(arg) ===
"[object Array]"
;
4.
};
5.
}
- JSON은 자바스크립트 객체 표기법으로 데이터 전송 형식의 일종으로 배열과 객체 리터럴 표기법의 조합이다.
- JSON을 다루기 위해 eval()을 사용하는 것은 금지한다.
- JSON은 가능하면 JSON.parse()와 JSON.stringify()를 사용한다. 이것은 ES 5 부터 추가되었다. 구형 브라우져인 경우 YUI나 jQuery용을 사용하자.
- 정규 표현식도 리터럴 타입이 안전하다. 생성자 타입(new RegExp())을 사용하는 것은 매칭시킬 패턴을 미리 알 수 없어 런타임에 문자열을 만들어야하는 경우이다.
- 원시 데이터 타입 레퍼 생성자는 사용하지 말자. 즉 new String("my string"); 이런거 말이다.
- 원시 데이터에서 "Hello there".split(' ')[0]; 이 동작할 수 있는 것은 일시적으로 객체로 변환하기 때문이다.
- 에러 객체. 자바스크립트 에러 객체는 Error(), SyntaxError(), TypeError() 3개이다. 이것은 throw문과 사용된다. 중요한 프로퍼티는 name, message이다. 하지만 throw문은 이 에러 객체를 사용하지 않아도 잘 동작한다. throw {name:.., message:..., extra:...}; 형태처럼 사용해도 무방하다.
- 다음은 권장되는 리터럴과 원시 데이터 타입이다.
01.
var
o = {};
02.
var
a = [];
03.
var
re = /[a-z]/g;
04.
var
s =
""
;
05.
var
n = 0;
06.
var
b =
false
;
07.
throw
{
08.
name :
"Error"
,
09.
message :
"uh-oh"
10.
};
11.
또는
12.
throw
Error(
"uh-oh"
);
'JavaScript' 카테고리의 다른 글
자바스크립트 코딩기법과 핵심패턴 제 5장 객체 생성 패턴 (0) | 2013.05.09 |
---|---|
자바스크립트 코딩기법과 핵심패턴 제 4장 함수 (0) | 2013.05.09 |
자바스크립트 코딩 기법과 핵심 패턴 : 2장 기초 (0) | 2013.05.07 |
자바스크립트 코딩 기법과 핵심패턴 : 1장 개요 (0) | 2013.05.07 |
스크롤바 없애기 (0) | 2013.03.28 |