《Javascript》プロトタイプチェーンについて調べてまとめた

JavaScript

Javascriptにおける継承

継承はプロトタイプチェーンを使う

一般的なOOPの機能を備える言語は継承をするときはextendを使いますが、ES2015が発表されるまで、Javascriptではプロトタイプチェーンと呼ばれる仕組みを使って継承を実装していました。なので今後はもしかしたらほぼ見かけなくなるかもしれまんせが、一応教養として知っておいたほうが良いのかな?と思ってしらべたのでシェアします。プロトタイプチェーンの全体的な理解をするために次のプログラムをみてください。

var Human = function(){}

Human.prototype = {
  talk : function(){
    console.log("こんにちは")
  }
}

var Katuo = function(){
  Human.call(this)
}

Katuo.prototype = new Human()
Katuo.prototype.walk = function(){
  console.log("てくてく")
}

var k = new Katuo()
k.talk()  // こんにちは
k.walk() // てくてく

暗黙参照を繋げる

初めにHumanというクラスを作って、プロトタイプを使ってtalkメソッドを追加しています。その次にnew Human()としてHumanクラスをKatuoクラスに継承をしています。ここで注意するべき点はKatuoのプロトタイプにHumanクラスの参照を持たせているという点です。そして最後にtalkメソッドとwalkメソッドを呼び出しています。talkメソッドを参照するまでのフローはKatuoのインスタンス、Katuoのクラス(オブジェクト)の中のプロトタイプにメンバーがあるかどうかを調べて、そこになければHumanインスタンス、Humanオブジェクトにメンバーがないか調べます。今回のプログラムですと、talkメソッドはHumanオブジェクトの中のプロトタイプ、walkメソッドはKatuoオブジェクトの中からメンバーを参照しています。このように暗黙参照をチェーンのように繋げることからプロトタイプチェーンと言います。

番外:おすすめアイテム

記事の内容とは別に自宅・オフィスでの開発がもっと快適に、楽しくなる商品を紹介します。アイテム1つで開発効率が一気に向上したり、開発のモチベーションが上がったりするので良いアイテムにはお金を投資すると良いかと。

KATUO
KATUO
今回紹介する商品は普段自分が使っているものなので自信を持ってお勧めできますー。では1つずつ紹介していきます。

おすすめアイテム①

自分はオフィス次の2点の座布団と背もたれクッションを利用してます。姿勢が安定し、お尻への負担が激減します。オフィスにいるのに自宅で作業しているような感覚になるので気に入ってます。また疲労感もかなり減るので費用対効果が非常に高いアイテムです。

おすすめアイテム②

ブックスタンドみなさん使ってますか?PCを打ちながら参考書見る時に手で抑える必要がなくなるので非常に便利です。自分も購入した時なんでいままで使ってなかたんだろうと後悔したのでまだ持ってない方は買っておくと作業効率があがります。

おすすめアイテム③

PCスタンド、magic keyboard、magic mouseを購入してから、開発効率があがり、身体的負担が減って快適に開発ができるようになりました。

エンジニアの基礎知識・教養

別の記事でエンジニアとして知っておくべき技術本についてまとめました。初心者には最低限読んでおいて欲しい技術本をまとめました。例えば「リーダブルコード」などは技術力の高いエンジニアなら必ず過去に読んでいる本だと思います。

筆者
筆者

今回の記事の内容は以上で終了です!最後まで読んでくれてありがとうございました!Twitterもやってるのでよかったらフォローしてください!

タイトルとURLをコピーしました