javascriptでクラスっぽいことをやる時って、プロパティーでもメソッドでもprototypeに入れておけばいいのですか?protoypeに入れておくとインスタンス化した時にメモリ効率が良くなるってことなんですが、それであれば、あえて、this.doSomething = function(){}のように、prototypeではなく直でそのオブジェクトのメソッドであったりプロパティーにする必要ってあるのでしょうか?
どっちにしても大差ないです
this.doSomething = function(){}はnewした時に参照じゃなくてコピーされるからその分メモリ使うって認識じゃないでしたっけ?
そうです!
なので直で行うとチリツモでメモリに影響はあるかもしれないのでprototypeで継承しましょうって感じの回答でよろしいでしょうか。
別の言い方をすれば、とりあえずprototypeにメソッドなりプロパティは実装しておけば良いってことでよいですか?
インスタンス化で使用するものはそうですね。あまりつめ込み過ぎず、疎結合で割りと小さくシンプルに継承していくと良いと思います。
疎結合で割と小さくシンプルに継承していくと言いますと?継承することと疎結合にすることは両極端にある話だと思いますが。。。
ちょっと語弊があったのかもですが親クラスで何でもできるもの(各インスタンスで使わないものがたくさん継承されないで)を作らないで色々なインスタンスを作ってそれを使う感じで使ってます。体系的なお話や使い方も人それぞれなので正解はないかもです。
私はそのように使ってるという感じですね^^
フッフッフ。ワシがどっちでも大差ないです、と適当な回答したお陰で、回答1と付き、トップページにこの質問が露出したお陰で、まともな回答がついたのぉ。あんちゃん、まともな回答者にはもちろん、ワシにも感謝せなあかんのやで。んでも、心の中で感謝しとりゃさえ、エエて。言葉にせんでもええでの。まあ、がんばりぃや。わかっとりゃエエて、わかっとりゃええ。。
お前氏ねよ
コメ主君は寂しいんだね。無視された気がしたんだね。うんうん。よしよし。
わかっとりゃええて。。わかっとりゃ。。
みんなの回答 3 件
どっちにしても大差ないです
this.doSomething = function(){}はnewした時に参照じゃなくてコピーされるからその分メモリ使うって認識じゃないでしたっけ?
フッフッフ。
ワシがどっちでも大差ないです、と適当な回答したお陰で、回答1と付き、トップページにこの質問が露出したお陰で、まともな回答がついたのぉ。
あんちゃん、まともな回答者にはもちろん、ワシにも感謝せなあかんのやで。
んでも、心の中で感謝しとりゃさえ、エエて。言葉にせんでもええでの。
まあ、がんばりぃや。わかっとりゃエエて、わかっとりゃええ。。
関連するトピックス