《TypeScript》super()とは何か?初心者にわかりやすく解説

JavaScript

superの役割

公式ドキュメントを読んでみる

 before we ever access a property on this in a constructor body, we have to call super(). This is an important rule that TypeScript will enforce.

引用:「Classes」

Classes · TypeScript

コンストラクタの中のプロパティーにアクセスする前に、super()を呼ばなくてはいけないという趣旨の内容が書かれていました。

super()の役割は大きく分けて2つ

typescriptsを使って開発した経験のある方なら一度はこの「super()」というメソッドをみたことあるのではないでしょうか。このsuper()の役割ですが、大きく分けて2つあります。

子クラスから親クラスのpublicメソッドにアクセスすることが可能に

親クラスのコンストラクタに値を渡す

ではそれぞれの役割を実際のコードを使って解説していきます。

superを実際に使って解説

親クラスのpublicメソッドにアクセスする

Katuoという親クラスを継承してKatuoChildという子クラスを生成しています。KatuoChildのconstructorのなかでsuper()を使っており、get2メソッドではsuper.get()としてsuperを使って親クラスのgetメソッドを呼び出していますね。superを使って「子クラスから親クラスのpublicメソッドにアクセス」することを実現しています。

親クラスのコンストラクタに値を渡す

孫クラスのGrandChildPersonのコンストラクタにてsuper()を使って、親クラスのコンストラクタに”katuo”(string型)を渡しています。なので子クラスのgetメソッドから親クラスのコンストラクタの引数nameにアクセスすることが可能になっています。よってsuperによって「親クラスのコンストラクタに値を渡す」ことを実現しています。

参考サイト

今回の記事では主に、以下の記事を参考にまとめました。優秀なエンジニアの方が分かりやくまとめてくれた記事は本当に読みやすいですね。

【TypeScript】super()の使い方理解する。(親Classのメソッドを使用、値を渡す) - Qiita
# 【TypeScript】super()の使い方理解する。(親Classのメソッドを使用、値を渡す) 2017年3/20日に追記 (

番外:その他おすすめの記事

エンジニアがもっと楽しく仕事できるようにスキルアップの方法や役立つ情報を発信しています。興味がある方はご覧になってください。読者の皆様にとって損になるようなことはないと思います。使ってない方は是非使ってみてください!

おすすめアイテム①

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

おすすめアイテム②

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

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

別の記事でエンジニアとして知っておくべき技術本についてまとめました。スキルの高いエンジニアは極々当たり前にしっている知識だとおもいますが、そうでない方、エンジニアのスキルに不安があるかたに是非読んで欲しい技術本をまとめました。そのなかで例を1つあげるならば「リーダブルコード」などが挙げられます。優秀なエンジニアの先輩でこの本を読んでいない方はほぼいないと思います。エンジニアのスキルを上げるために、ある程度読むべき本というものが決まっているのできちんと読んで勉強しましょう。

時短アイテム!日々の生活の質を上げる

日常生活における無駄を省く表品をまとめました。1日無駄な作業時間が10分発生するとしたら1年間で3600時間もその無駄な作業に時間を費やすことになります。このような魔の作業を消し去ってくれる商品をまとめました。全て自分が使ってお勧めできる商品のみ紹介してます。

気軽にお声かけください

このような形でほぼ毎日、情報発信を行ってます。技術的な部分で誤っている点などもあるかもしれません。その様な部分を発見した方はTwitterのDMなどで知らせていただければ凄い嬉しいです。また自身自身のエンジニアのネットワークを広げたいと思ってます。日頃六本木や渋谷にいることが多いですので気軽にお誘いください。情報交換しましょう。

筆者
筆者

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

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