JavaScript オブジェクトの定義
- 前のページ JS 歴史
- 次のページ JS オブジェクト属性
コース推薦:
JavaScriptでは、オブジェクトが王です。オブジェクトを理解すれば、JavaScriptを理解できます。
- JavaScriptではほぼ「すべて」がオブジェクトです。 文字列はオブジェクトです(例えば、 new
- 布尔はオブジェクトです(例えば、 文字列はオブジェクトです(例えば、 new
- 数字はオブジェクトです(例えば、 文字列はオブジェクトです(例えば、 new
- キーワード定義)
- 日付は常にオブジェクト
- 算術は常にオブジェクト
- 正規表現は常にオブジェクト
- 配列は常にオブジェクト
- 関数は常にオブジェクト
オブジェクトは常にオブジェクト
すべてのJavaScriptの値は原始値以外すべてオブジェクトです。
JavaScriptの原始値原始値
これは属性やメソッドを持たない値を指します。原始データタイプ
これは原始値を持つデータを指します。
- "Hello"
- 3.14
- false
- falseは常にfalseです
- (object) nullは常にnullです
JavaScriptは5種類の原始データタイプを定義しています:
原始値は一貫して変わらない(ハードコードされているため、変更することができません)。
値 | x = 3.14を仮定すると、xの値を変更できますが、3.14の値を変更することはできません。 | タイプ |
---|---|---|
コメント | "Hello" | string |
"Hello"は常に"Hello"です | 3.14 | number |
3.14は常に3.14です | false | true |
trueは常にtrueです | false | boolean |
falseは常にfalseです | falseは常にfalseです | null |
(object) nullは常にnullです | (object) nullは常にnullです | undefined |
undefinedは常にundefinedです
オブジェクトは変数を含む変数です
インスタンス
JavaScript変数は、以下のように単一の値を含むことができます:
var person = "Bill Gates";
オブジェクトも変数です。ただし、オブジェクトは多くの値を含むことができます。値は以下の順序で並べられます名前 : 値
インスタンス
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
JavaScriptオブジェクトは、以下のように形式付けされています(名前と値はコロンで区切られます)。命名値の集合です。
オブジェクト属性
JavaScriptオブジェクトの命名値は、以下のように呼ばれる属性。
属性 | 値 |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
名前値对で書かれたオブジェクトは、以下のように似ている:
- PHPの連想配列
- Pythonの辞書
- Cのハッシュテーブル
- Javaのハッシュマップ
- RubyやPerlのハッシュ
オブジェクトメソッド
メソッドは、オブジェクト上で実行できるアクション。
オブジェクト属性は、原始値、他のオブジェクト、および関数で構成できます。
オブジェクトメソッドは、以下を含みます関数定義のオブジェクト属性です。
属性 | 値 |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
JavaScriptオブジェクトは、属性とメソッドと呼ばれる名前付きの値のコンテナです。
次の章で、方法についてもっと詳しく学びます。
JavaScriptオブジェクトの作成
JavaScriptを使用して、独自のオブジェクトを定義して作成できます。
オブジェクトを作成するには、いくつかの方法があります:
- オブジェクトリテラルを使用して、単一のオブジェクトを定義して作成します。
- キーワードnewを使用して、単一のオブジェクトを定義して作成します。
- オブジェクトの構造子を定義し、構造子タイプのオブジェクトを作成できます。
ECMAScript 5では、以下の関数 Object.create()
を使ってオブジェクトを作成します。
オブジェクトリテラル
これはオブジェクトを作成する最も簡単な方法です。
オブジェクト文字を使用して、一つの文でオブジェクトを定義して作成できます。
オブジェクトリテラルとは、括弧 {}
名前:値対(例えばage:62)
以下の例も、四つの属性を持つ新しいJavaScriptオブジェクトを作成しています:
インスタンス
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
スペースや折り返しは重要ではありません。オブジェクトの定義は複数行にわたって記述できます:
インスタンス
var person = { firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue" };
JavaScriptのキーワードnewを使用して
以下の例も、四つの属性を持つ新しいJavaScriptオブジェクトを作成しています:
インスタンス
var person = new Object(); person.firstName = "Bill"; person.lastName = "Gates"; person.age = 50; person.eyeColor = "blue";
上記の二つの例の結果は同じです。使用する必要はありません。 new Object()
。
簡便性、読みやすさ、および実行速度を考慮して、最初の作成方法(オブジェクトリテール方法)を使用してください。
JavaScript オブジェクトは変更可能です
オブジェクトは変更可能です:参照を通じてアドレスを特定し、値を通じては特定しません。
personがオブジェクトである場合、以下の文は person のコピーを作成しません:
var x = person; // これは person のコピーを作成しません
オブジェクト x は personのコピーです。それこれは person.x と person は同じオブジェクトです。
xへのどのような変更も personに影響を与えます、なぜなら x と person は同じオブジェクトであるからです。
インスタンス
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"} var x = person; x.age = 10; // これにより x.age と person.age が同時に変更されます
注記:JavaScript の変数は変更不可能です。ただし、JavaScript オブジェクトのみが変更可能です。
- 前のページ JS 歴史
- 次のページ JS オブジェクト属性