読者です 読者をやめる 読者になる 読者になる

やったこと

webサービスを作るときに考えたことを垂れ流します

クラスメソッドとかインスタンスメソッドってなんだって思った

javascriptのクラスメソッドインスタンスメソッドっていうのがよく分からない
から調べてた。

クラスメソッドをセットするときはこう書くらしい。

クラスメソッド

function classA(){  //クラス定義
    this.hoge = function(){ //クラスメソッド
      alert("tes"); 
    }
}
var testclass = new classA();
testclass.hoge(); //alert("tes")


そんで、インスタンスメソッドはこう書くらしい。

インスタンスメソッド

function classA(){ //クラス定義
}

classA.prototype.hoge = function(){ //インスタンスメソッド
      alert("tes"); 
}
var testclass = new classA();
testclass.hoge(); //alert("tes")


クラスメソッドの方法で定義すると、newでインスタンスを生成したときに、
個々のインスタンスがそれぞれメソッドの処理内容を保持してしまって、
メモリを食ってもったいないらしい。

インスタンスメソッドの方法で定義すると、newでインスタンスを生成したときに、
個々のインスタンスが共通のメソッドの処理内容を参照するようになるので、メモリを
食わなくて効率的らしい(処理へのポインタを持ってるようなイメージ?)。


基本的なことみたいだけど全然知らんかった。。

これからwebサービス開発とか、スマホアプリ開発とかをいろんなことを
していくと思うんだけど、いちいちこんな感じで各言語のこまい仕様を
覚えていくのはちょっときついな。

C言語だけで全部回していけないものか。。