JavaScriptの型についてのメモ(2010.11.30 追記あり)。
JavaScriptはプリミティブなデータを除いてすべてオブジェクト。
JavaScriptは次のデータ型をプリミティブなデータと呼ぶ。
UndefinedとNullはJavaScriptのnull型とundefined型 | FindxFine -Web制作に関するメモ-に記載。
[1] nullのtypeof演算子の結果はobjectになるので注意する。
[1] var a = ‘a’; a = ‘b’;ができないということではない。そうしたときはメモリアドレス自体を新たにする。
[2] プリミティブなデータとオブジェクトの違いのひとつはプリミティブなデータはイミュータブルなデータ(スカラー)でありオブジェクトはミュータブル(変更可能)なデータの集合体という点。
Douglas Crockford著, 水野貴明訳 (2008) 『JavaScript: The Good Parts 「良いパーツによるベストプラクティス」』 オライリー・ジャパン
[3] JavaScriptはプリミティブなデータ型でもラッパーでメソッドが実装されている。
JavaScriptのプリミティブ以外のデータはオブジェクトである。関数・配列・正規表現リテラルもオブジェクトである。
JavaScriptのオブジェクトは名前と値のペアを管理するもので他の言語のハッシュに相当する。
// 文字型 console.log(typeof 'abc'); // string // 数値型 console.log(typeof 10); // number // ブーリーン型 console.log(typeof true) // boolean // null型 console.log(typeof null); // null // undefined型 console.log(typeof undefined); // undefined // object型 console.log(typeof { x: 10 }); // object // object型 関数はfunctionという専用の値を持つ console.log(typeof function foo(x) { return 2 * x; }); // function // object型 配列はobject console.log(typeof[1, 2, 3]); // object // object型 正規表現リテラルはobject console.log(typeof /abc/); // object
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。