コンストラクター(クラス)とインスタンス

/**
 * コンストラクター(クラス)とインスタンス
 */

//コンストラクター(クラス)とインスタンスの作成 ------------------------------------------------------
(function(){
    var Member = function(){};//コンストラクター(クラス)
    var mem = new Member();//インスタンスの作成
    console.log(mem instanceof Member);//インスタンスの確認
 }());

//コンストラクターの初期設定 ------------------------------------------------------
(function(){
    var Member = function(fstName, lstName){ //コンストラクターの初期設定
        this.fstName = fstName;
        this.lstName = lstName;
        this.getName = function(){
            return this.lstName + ' ' + this.fstName;
        }
    }
    var mem = new Member('Masao','Kusakari'); //インスタンス
    console.log(mem.getName());
}());

//コンストラクターのプロパティ、メソッドを追加する ------------------------------------------------------
(function(){
     var Member = function(fstName,lstName){
        this.fstName = fstName;
        this.lstName = lstName;
    };
    var mem = new Member('Masato','Sakai');
    mem.sex = 'male'; //プロパティを追加
    mem.getName = function(){ //メソッドを追加
        return this.fstName + ' ' + this.lstName;
    };
    console.log(mem.sex); //追加したプロパティを利用して抜き出す
    console.log(mem.getName()); //追加したメソッドを利用して抜き出す
    var mem2 = new Member('Takashi','Fujii');
    console.log(mem2.sex); //エラー 上記エイリアス(mem)で追加したプロパティ、メソッドは他のエイリアスでは使えない
    console.log(mem2.getName());
 }());

See the Pen js: コンストラクター(クラス)とインスタンス by nwstcode (@nwst) on CodePen.

TagTimes

Simple time tracking tool
Developed by Namu Works