2021/06/25

コンストラクタ関数とインスタンスについて

@ 爲西貴大

JavaScript

始めに

javascriptではクラスという概念がありません。
そこで使われるのがコンストラクタ関数です。

でも実はコンストラクタ関数とクラスはほぼ同じ意味を持っています。


実際のコードを使って説明していきます。

function tamenishi(name){
	this.firstName = 'tamenishi';
    this.lastName=name;
    this.favoriteLunch="riceBall";
    this.height=191
}
let  tamenishitakahiro= new tamenishi(takahiro);
console.log( tamenishitakahiro.name ); // 'takahiro'


ファンクション関数でtamenishiが定義されています。これをコンストラクタ関数といいます。
tamenishiがnewされ、引数にtakahiroを渡すことで祖先であるtamenishiのプロパティを引き継いだtamenishitakahiroが生成されました。これをインスタンスを言います。

クラス(コンストラクタ関数)とインスタンスは、tamenishi(祖先)と、tamenishitakahiroに対応しています。

祖先からnewすることでインスタンスを生成することができます。また、コンストラクタ関数で定義されているthisはインスタンスのtamenishitakhiroのことを指し示します。thisの挙動は厄介ですが、インスタンスに向けてthisを使います。

以上で説明を終わります。さらば!

© 2021 powerd by UnReact