Chapter 1. Introduction
2010/12/24(金) 25:16 Javascript親記事へこのエントリーをはてなブックマークに追加

Patternsとは何か。
この本では以下の3つのパターンについて書かれている。
  • Design patterns
sin-gleton, factory, decorator, observerといったOOPのパターン
これらはC++やJavaといった言語はもちろんJavaScriptにも適応できます。
  • Coding patterns
これは言語特有のコードパターンです。この本のメイントピックとなります。
  • Antipatterns
アンチパターンという言葉にネガティブな印象があるかもしれませんが、これは問題解決アプローチの方法です。

JavaScript: Concepts

Object-Oriented

JavaScriptにはnumber, string, boolean, null, undefinedという5つのプリミティブ型がある。
Functions are objects 関数もオブジェクト。

No Classes

クラスという概念はないので、ほかの言語の熟練者でもここに突っかかる場合があるかもね

Prototypes

prototypeもまた一つのオブジェクトで、すべての関数にたいして作成時に自動的にprototypeプロパティというblankなオブジェクトが作られている。
これは{}でもnew Object()のどちらの方法でもそう。
prototypeは継承において重要な役目をするよ。

ECMAScript 5

ES5にはstrict modeがあり、厳密な環境で書くことができ、strict modeがないブラウザでも問題ない(ただの文字列として認識する)ので安心。
スコープごとに決定できるので、以下のようにmyスコープのみにstrictにするといったことができます。
function my() {
    "use strict";
    // rest of the function...
}
この本ではES5の追加仕様にも沿って書いていきます。
  • この本のコードサンプルはstrict modeでもエラーを発生しない
  • arguments.calleeのようなコンストラクタに依存した書き方は避ける
  • Object.create()のようなES5のビルドインを使ったものもES3パターンで呼ぶ
ES5を意識した作りになっているそうだ。

名前:  非公開コメント   

  • TB-URL  http://efcl.info/adiary/088/tb/