javascript初心者です。javascriptでprototypeチェーンを使うメリットがいまいち理解できないのですが、どういったことなのでしょうか?
わざわざprototypeまでさかのぼらくても、jsファイルの先頭にfunction hoge(arg){ // 処理}みたいに書けばいいんじゃないかな…と思ってしまいます。
小規模ならそれでいいとおもうよ
1つのものを作る時に、複数のファイルでjs書くくらいの規模になった時に考えればいいんじゃないかな。小規模なら気にしないでok。
っていうか、"hasOwnProperty"みたいな全てのオブジェクトの親であるObjectが持っているプロパティーって、普段、for inでループする時とかに使ったりしてるでしょ?ってことで、意識してないかもしれないけど、プロトタイプチェーン上にあるメソッドは使ってたりするよ。
>> dzn7Qhvcrfchさん>> yShYVF5hThJさん
早速の返答ありがとうございます。中~大規模なプロジェクトになり、ページによってjsファイルを分けなければならない状態になった時に、全ページで共通する処理はprototypeで宣言しておく…管理面で有益なものということでしょうか…?
全ページで共通する処理とかっていう括りではないです。多分、今説明しても理解出来ないのではないかと思うので、説明は省きますが、管理面(メンテ)で有益という意味ではただしいです。
オブジェクト指向では、オブジェクトが、メソッドを持っています。同じ機能を持たせたい沢山のオブジェクト1つ1つにメソッドを設定していかずとも、これとこれとこれを備えたオブジェクトを継承する形で表現できるのがプロトタイプチェーンの利点です。要は構造化と分離、プログラミングの基本です。
簡潔でいいんだけど初心者がこれで分かったら苦労ないですね。
cssでbodyとかhtml要素にフォント指定したら、その子要素にも同じフォント適用されるようなもん。毎回、全部の要素にあれこれ同じスタイル設定してたら、大変だし無駄でしょ?っていう雑な例えでどうでしょー。
いいね
とりあえずグローバルな関数とメソッドの違いをよく理解できていないようなので、prototypeの意味を理解したければオブジェクト指向の基本を学ぶのがいいんじゃないかな。
オブジェクト指向の基本って具体的に言うと何?
これだからフラッシュやってないやつは
フラッシュは関係あったとしても、必須じゃなくない?笑
みんなの回答 7 件
小規模ならそれでいいとおもうよ
1つのものを作る時に、複数のファイルでjs書くくらいの規模になった時に考えればいいんじゃないかな。小規模なら気にしないでok。
>> dzn7Qhvcrfchさん
>> yShYVF5hThJさん
早速の返答ありがとうございます。
中~大規模なプロジェクトになり、ページによってjsファイルを分けなければならない状態になった時に、全ページで共通する処理はprototypeで宣言しておく…管理面で有益なものということでしょうか…?
オブジェクト指向では、オブジェクトが、メソッドを持っています。
同じ機能を持たせたい沢山のオブジェクト1つ1つにメソッドを設定していかずとも、
これとこれとこれを備えたオブジェクトを継承する形で表現できるのがプロトタイプチェーンの利点です。
要は構造化と分離、プログラミングの基本です。
cssでbodyとかhtml要素にフォント指定したら、その子要素にも同じフォント適用されるようなもん。毎回、全部の要素にあれこれ同じスタイル設定してたら、大変だし無駄でしょ?っていう雑な例えでどうでしょー。
とりあえずグローバルな関数とメソッドの違いをよく理解できていないようなので、
prototypeの意味を理解したければオブジェクト指向の基本を学ぶのがいいんじゃないかな。
これだからフラッシュやってないやつは
関連するトピックス