Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

javaScriptコンストラクタについて(お勉強用)

More than 1 year has passed since last update.

コンストラクタは、インスタンス生成のための関数のこと(コンストラクタ関数という)。
JavaScriptでは、関数もオブジェクトであり「関数オブジェクト」と呼ぶ、

JavaScriptには基本的にはクラスという概念はなく、オブジェクトの作成には以下の2通りがあります。

  • 空のオブジェクトを作成する(new演算子なし)
)
var test = {};
  • コンストラクタからインスタンスを作成する(new演算子あり)
)
function Test() {};
var test = new Test();

new演算子によるインスタンス生成

「new」を付けることで、生成されるインスタンスが「this」にセットされる。

//コンストラクタの定義 
function Cat(name, cry) {
  this.name = name;
  this.meow = function() {
    console.log(cry);
  };
}
//コンストラクタからインスタンスを生成する
var cat = new Cat('たま', 'にゃんにゃん');
console.log(cat.name); // たま
cat.meow(); // にゃんにゃん

生成したインスタンスのプロパティを利用するには、cat.nameのように「インスタンス名.プロパティ名」と書く。そしてcat.meow()のようにメソッドとして呼び出す。

y-araki-qiita
たぶんインフラエンジニアです。- 個人の見解を記載しているため所属団体とは関係ありません。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away