6. オブジェクト
オブジェクトは配列とよく似ていますが、配列でインデックスにあたるものが「プロパティ名」となっています。
var オブジェクト名 = { プロパティ名1: 値1, プロパティ名2: 値2, プロパティ名3: 値3 };
配列と違い、[]が{}になっていますね。
また、値1, 値2ではなくプロパティ名: 値1となっています。
また、他のプログラミング言語を知っている方は連想配列が思い浮かぶかと思います。
JavaScriptには連想配列は無く、オブジェクトが連想配列の役割も持っています。
では、オブジェクトの機能を確認するため、SimpleJS.htmlのscriptタグに以下の内容を記述してプログラムを実行してみましょう。
var person = { name : "田中太郎", birthday : "1月1日", gender : "男性" }; alert(person.name); // 田中太郎と表示 alert(person.birthday); // 1月1日と表示 // 変数にプロパティ名を代入して値を取得する事もできます var propertyName = "gender"; alert(person[propertyName]); // 男性と表示 // 値の更新もできます person.gender = "女性"; alert(person[propertyName]); // 女性と表示 // こちらでも可 person[propertyName] = "男性"; alert(person[propertyName]); // 男性と表示 // 新しくプロパティを追加する事もできます person.pref = "東京"; alert(person.pref); // 東京と表示 // こちらでも可 propertyName = "age"; // 値を上書きして変数を再利用 person[propertyName] = "25"; alert(person[propertyName]); // 25と表示
オブジェクトは値に文字列や配列、オブジェクトに関数など、どのようなデータでも指定することができます。
var obj = { property1 : "ABC", property2 : 123, property3 : ["DEF", "GHI"], property4 : { childProperty : "hoge" }, property5 : true, property6 : null, property7 : undefined, property8 : function() { alert("関数です!"); } }; alert(obj.property1); // ABCと表示 alert(obj.property2); // 123と表示 alert(obj.property3[0] + obj.property3[1]); // DEFGHIと表示 alert(obj.property4.childProperty); // hogeと表示 alert(obj.property5); // trueと表示 alert(obj.property6); // nullと表示 alert(obj.property7); // undefinedと表示 obj.property8(); // 関数です!と表示
This software includes the work that is distributed in the Apache License 2.0
Last modified: Thursday, 26 April 2018, 4:39 PM