JavaScriptパターン #1
JavaScriptパターン ―優れたアプリケーションのための作法
- 作者: Stoyan Stefanov,豊福剛
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/02/16
- メディア: 大型本
- 購入: 20人 クリック: 895回
- この商品を含むブログ (68件) を見る
JavaScriptでできること
- クライアントサイド(いわゆるJavaScript)
- サーバサイド(.NETやNode.js)
- デスクトップアプリケーション
- アプリケーションの拡張(ブラウザ、Photoshop...)
- モバイルアプリケーション
- コマンドラインスクリプト
パターン
パターン=典型的な問題に対する解決方法(ベストプラクティス)
JavaScriptの重要な概念
オブジェクト指向
数値、文字列、ブール値、null、undefined以外(プリミティブ型以外)は全てオブジェクト。
変数、関数 -> オブジェクト -> キーと値の組(プロパティ)のリスト
オブジェクトの種類は2つ
- ネイティブ(組み込みオブジェクト(Array、Date...)やユーザが定義するオブジェクト(var o = {})
- ホスト(windowやDOMオブジェクト)
クラスは無い
必要になったときに空のオブジェクトを作成しておいて、後からメンバを追加する。(「クラス継承よりオブジェクトのコンポジションが好ましい」)
プロトタイプ
継承はプロトタイプ(全ての関数が持つプロパティ)を使う。
> function fn() {} > fn.prototype fn // プロトタイプオブジェクトのconstructorプロパティは関数を指す > fn.prototype.constructor function fn() {} // オブジェクトリテラルで生成したオブジェクトのconstructorプロパティは // 組み込みのObject() > var o = {} > o.constructor function Object() { [native code] }
ECMAScript 5
DOMなどの余分なホストオブジェクトを含まないコアJavaScript言語の土台。
ECMAScript5の重要な追加機能 : strictモード
function fn() { "use strict"; // ... }
言語から機能を取り除き、プログラムをよりシンプルにする。(例えば、with文はstrcitモード内では使えない)
strictモードは文字列で起動するので、対応していないブラウザであれば無視される。
JSLint
コードの品質チェックツール
http://www.jslint.com/