オブジェクトの基本 -『JavaScript』

table of contents

    JavaScriptのオブジェクトは、名前をキーにアクセスできる配列、連想配列です。もう少し掘り下げると、単純に名前がついた入れ物の集合ではなく、オブジェクト自体が1つのモノであり、中に含まれる要素はそのオブジェクトの特性や動作を表すために存在しています。

    プログラム上で扱う対象をオブジェクトとして捉えて、 オブジェクトを中心にコードを組み立てていく手法をオブジェクト指向と呼びます。

    オブジェクトはプロパティとメソッド

    オブジェクトはプロパティとメソッドで構成されます。プロパティはオブジェクトの状態や特性を表している情報のことです。メソッドはオブジェクトを操作するための処理です。

    このことからオブジェクトはデータを操作するための機能を持った入れ物といえます。

    オブジェクトを利用する 「new」

    オブジェクト指向の考え方では、例外を除いて、デフォルトで用意されているオブジェクトを直接利用することを禁止します。オブジェクトは自分自身の中でデータを保持するという性質を持っているからです。オリジナルのオブジェクトには変更を加えずに、オブジェクトのコピーを操作することでデータの競合などを防ぎます。

    オブジェクトの複製を作ることを「インスタンス化」、インスタンスによって出来上がった複製を「インスタンス」と呼びます。インスタンス化はオブジェクトを扱うために自分専用の領域を確保することです。

    オブジェクトをインスタンス化するにはnew演算子を使います。

    new演算子

    var variableName = new ObjectName();
    

    オブジェクトにはオブジェクトを初期化するために、オブジェクトと同名のメソッドが用意されていて、これを「コンストラクタ」と呼びます。オブジェクト名はコンストラクタ名です。

    インスタンスは変数に格納して、その変数をオブジェクトとして扱います。インスタンスが格納された変数は、「インスタンス変数」「オブジェクト変数」と呼びます。

    インスタンス変数からプロパティ/メソッドを呼び出すには、ドット演算子を使います。


    var variableName = new objectName(); variableName.propName; variableName.methodName();

    静的プロパティ 静的メソッド

    プロパティやメソッドによっては、例外的にインスタンスを生成しないで利用するものもあります。このプロパティ/メソッドを静的プロパティ/静的メソッドまたはクラスプロパティ/クラスメソッドと呼びます。


    ObjectName.propName; OblectName.methodName();

    組み込みオブジェクト

    JavaScriptのオブジェクトで基本的なものが、JavaScriptに標準で組み込まれている、組み込みオブジェクト(ビルトインオブジェクト)です。組み込みオブジェクトはJavascriptが実行できるすべての環境で利用でき、特別な宣言や定義なしで利用できます。

    Global
    JavaScriptの基本機能にアクセスするための手段
    Object
    すべてのオブジェクトの雛形になる機能
    Array
    配列を操作するための手段
    Map/WeakMap 《ES2105》
    連想配列を操作するための手段
    Set/SetMap 《ES2105》
    一意な値の集合を管理するための手段
    String
    文字列を操作するための手段
    Boolean
    真偽値を操作するための手段
    Number
    数値を操作するための手段
    Function
    関数を操作するための手段
    Symbol 《ES2015》
    シンボルを操作するための手段
    Math
    数値演算を実行するための手段
    Date
    日付を操作するための手段
    RegExp
    正規表現に関わる機能
    Error/XxxxxError
    エラー情報を管理
    Proxy 《ES2015》
    オブジェクトの挙動をカスタマイズする手段
    Promise 《ES2015》
    非同期処理を実装するための手段

    Stringオブジェクトのlengthプロパティ


    let myStr = 'mystring' console.log(myStr.length); // 8

    Stringオブジェクトのlengthプロパティを利用すると文字列の長さを求めることができます。

    組み込みオブジェクトはnew演算子は使わない

    組み込みオブジェクトでもnew演算子を使ってオブジェクトを生成できますが、冗長になったり予期しないエラーの原因になるので組み込みオブジェクトのインスタンス化は原則避けるようにします。

    ラッパーオブジェクト

    JavaScriptの標準的なデータ型を扱う組み込みオブジェクトの中でも、基本形の文字列 / 数値 / 論理値を扱うためのオブジェクトのことをラッパーオブジェクトと呼びます。ラッパーオブジェクトは基本形のオブジェクトを包んでオブジェクトとしての機能を追加するためのオブジェクトたちです。

    おわります。

    オブジェクトの基本 -『JavaScript』のアイキャッチ画像

    share

    related