JSのPrototypeについてまとめておく

prototype

概要

はじめに

C言語のプトロタイプ宣言とはまったく違う

プロトタイプとは

  • オブジェクト同士の繋がりを保持する機能
  • 継承もこれに属す

コンストラク

前提にコンストラクタの話

  • コンストラクタサンプル
var Drug = function(name, effect) {
    this.name = name;
    this.effect = effect;
}
 
var drugOne = new Drug('ロキソニン', '解熱');
 
console.log(drugOne );

prototypeを使ってメソッド

要点

参照渡し

  • プロトタイプ記述は、インスタンス化の際にメソッドは「参照」して利用
  • つまりプロトタイプで記述すると、インスタンス化の際にメモリ消費を抑える

実装サンプル

  • 簡単な例
var Drug = function(name, effect) {
    this.name = name;
    this.effect = effect;
}
 
Drug.prototype.getName = function() {
    return this.name;
}
  • 省略
Drug.prototype = {
    getName: function() {
        return this.name;
    },
 
    getEffect: function() {
        return this.effect;
    }
}