今回はオブジェクトという概念についてみていきます。
1 ユーザー定義オブジェクト
オブジェクトには、もとから用意された「ビルトイン オブジェクト」があります。
document や window などがそうですね。
しかし、ユーザー側がある程度自分の好きなようにオブジェクトを作成することができます。
書式
let オブジェクトの名前 ={
プロパティの名前:値 ,
メソッドの名前:function(引数){
}
};
これを「ユーザー定義オブジェクト」といいます。
なお、プロパティもメソッドも複数定義することができ、これらは変数に代入することになりますが、この変数の名前がオブジェクトの名前になります。
2 オブジェクトをつくる
実際の例を見ていきましょう。
関数の学習で作成した三角形の面積を求める関数をもとに、オブジェクトを作成してみます。
なお複数のプロパティ、メソッドの間には「 , 」が必要です。
HTML(一部)
<script>
let tri = {
name : "",
base : 0,
height : 0,
calcArea : function() {
return ( this.base * this.height ) / 2 ;
}
}
tri.name = "三角形";
tri.base = 10;
tri.height = 10;
let area = tri.calcArea();
document.write("<p>" + tri.name + "の面積は" + area + "です。</p>");
</script>
ブラウザ
以下、全体を3つに分けてみていきましょう。
HTML(一部)
<script>
let tri = {
name : "",
base : 0,
height : 0,
calcArea : function() {
return ( this.base * this.height ) / 2 ;
}
}
まず、tri という変数を宣言して、プロパティ三つとメソッド一つを定義しています。
一つ目のプロパティは「 ”” 」が代入されていますが、これは空文字といって、データがない文字列です。
次に二つ目と三つ目のプロパティでは、数値の「0」が代入されています。
四つ目は、無名関数の定義と同様に、calcArea というメソッドが定義されています。
この例では引数がありませんので( )内には何もありません。
また、this という用語がありますが、このように記述することによって、自分自身の、つまり変数 tri のプロパティをなどを呼び出すことになります。
最後に、定義の部分は いずれも「=」ではなく「:」と記述することに注意です。
HTML(一部)
tri.name = "三角形";
tri.base = 10;
tri.height = 10;
ここではプロパティの値(文字列、数値)を変更しています。
この場合は「:」ではなく、「=」を使います。
HTML(一部)
let area = tri.calcArea();
document.write("<p>" + tri.name + "の面積は" + area + "です。</p>");
</script>
最後は、このオブジェクト tri の calcArea メソッドを呼び出しています。
このメソッドは、プロパティの値(数値)を定義に従って処理し、その結果を得るものです。上の例では、その結果を、変数 area に代入しています。
そして最後に、結果を利用して write メソッドにより出力します。
なお、name プロパティの値(文字列)はそのまま利用しています。
3 次回
今回は重要な部分なので、じっくり見ていきました。
次回は、プロパティとメソッドを追加したり、削除したりしてみます。
カテゴリー
更新記事
- 『日本経済新聞』を読む 2(DAC、株主優待、オピオイド、ベトナム車市場、離れ小島)
- 『日本経済新聞』を読む 1(リバースメンタリング、CBT、EBPM、地方創生DAO、IBD)
- テーマ株投資(7か月)
- 『会社四季報 2024年 3集 夏号』を読む 20(RPF、DtoC、ToF、駅ナカ、CX)
- 『会社四季報 2024年 3集 夏号』を読む 19(ATC、プローブカード、ニューデリー、商品CFD、SUV、FPC、IFRS)
- 『会社四季報 2024年 3集 夏号』を読む 18(シャリ玉ロボット、YAGレーザー、シナジー、SaaS、クルーズ、DFBレーザー)
- 『会社四季報 2024年 3集 夏号』を読む 17(DSP、サーメタル、自動小銃、ダイカストマシン、FPSO、サーボモーター、水晶振動子)
- 『会社四季報 2024年 3集 夏号』を読む 16(クロスセル、eVTOL、CFCC、RFID、配当性向、事業承継)
- 『会社四季報 2024年 3集 夏号』を読む 15(SiC半導体、NAS電池、フェロニッケル、フェライト粉、スポンジチタン)
- 『会社四季報 2024年 3集 夏号』を読む 14(AI警備システム、プロダクトアウト、ホットメルト接着剤、放熱ゲル、パイル、カソード)
- 『会社四季報 2024年 3集 夏号』を読む 13(PLM、ファクタリング、BCP、グリシン、メタクリル樹脂、アクティブシニア)
- テーマ株投資(6か月)
- 『会社四季報 2024年 3集 夏号』を読む 12(カプロラクタム、ゼロトラスト、RAG、ERP、シリカ)
- 『会社四季報 2024年 3集 夏号』を読む 11(オリゴマー、エッジAI、MLCC、ジルコニウム、アセチレンガス、ファインケミカル)
- 『会社四季報 2024年 3集 夏号』を読む 10(フラッシュハンドル、自動配膳ロボット、R-SUD、レコメンド機能、マーチャンダイジング、エレクトロニクスガス、コーシャ認証)
- 『会社四季報 2024年 3集 夏号』を読む 9(ペロブスカイト太陽電池、プロテイン、銀だこ、尿素SCR、エクソソーム)
- 『会社四季報 2024年 3集 夏号』を読む 8(ドミナント、EBITDA、SAF、消防車、キャンプ用品、GIGAスクール、ボウリング場)
- 『会社四季報 2024年 3集 夏号』を読む 7(MD、パーム椰子、GMS、EC、デジタルサイネージ、ハラール認証、ヴィーガンコスメ)
- 『会社四季報 2024年 3集 夏号』を読む 6(BIM、CMS、つけまつげ、CDMO、BNPL、EDI、CRM)
- 『会社四季報 2024年 3集 夏号』を読む 5(アグリゲーション、EMS、BPO、のれん、カカオ豆、オーツミルク)
- 『会社四季報 2024年 3集 夏号』を読む 4(SEP、社内起業、ZEP、VPP、DOE、バイオセンサー、PBX)
- 『会社四季報 2024年 3集 夏号』を読む 3(海上油田、シェールオイル、カーボンクレジット、キャッシュフロー経営、軽量気泡コンクリート、医療観光、洋上風力発電)
- テーマ株投資(5か月)
- 『会社四季報 2024年 3集 夏号』を読む 2
- 『会社四季報 2024年 3集 夏号』を読む 1
- JavaScript でDOM 2
- JavaScript でDOM 1
- JavaScript でオブジェクト 5
- JavaScript でオブジェクト 4
- JavaScript でオブジェクト 3
タグ
break (1) class (3) collection (6) continue (1) CSS (2) DOM (2) for (1) function (3) HTML (8) if (2) JavaScript (28) object (5) pop (1) push (1) shift (1) switch (1) unshift (1) VBA (1) while (2) ことば (2) アンガーマネジメント (1) インソース (1) ココナラ (11) コーチング (1) チーズ (2) ネズミ (2) ノート (2) パーソルホールディングス (3) ブランディング (1) ブランド (1) プログリット (1) ポート (1) メモ (2) リスキリング (1) リンクアンドモチベーション (2) 変数 (3) 学習 (1) 小人 (2) 怒り (1) 株式 (29) 睡眠 (3) 給水器 (1) 記憶 (3) Aoba-BBT (11) IGS (11) Kラーニング (1)