0
1

More than 1 year has passed since last update.

class構文って何?どう使うの?

Posted at

image.png

「class構文」って普段jQueryとWordPressだけ使ってたら絶対に見ない。
知らずに遭遇したら「class構文アレルギー」になっちゃうので、免疫を付けたい。

なので、いろんな記事を漁りました。JSとPHPで、理解しやすい方から学ぶスタイル。

一番わかり易い例文は、コレだと思いました。JSです。

  <body>
    <script>

      class Person {
          constructor(名前) {
              this.なまえ = 名前;
          }
          say() {
              console.log("こんにちは。" + this.なまえ + "です");
          }
      }

      var nishi = new Person("西 大輔");
      nishi.say();

      var pikkoro = new Person("ピッコロ大魔王")
      pikkoro.say();

    </script>
  </body>

実行すると、コンソールに表示される文字は

こんにちは。西 大輔です
こんにちは。ピッコロ大魔王です

javascriptで、昔ながらの書き方だと

function Person(名前) {
    this.setName(名前);
};

Person.prototype = {
    setName: function(名前) {
        this._なまえ = 名前;
    },
    getName: function() {
        return this._なまえ;
    },
    say: function() {
        console.log('こんにちは。' + this._なまえ + 'です');
    }
};

var nishi ="西 大輔";
Person.say(nishi);

var pikkoro = ("ピッコロ大魔王")
Person.say(pikkoro);

急に「体になじむ感じ」がしてきました。(newしてないから微妙にちがうかも?)

つまりJavascriptの function() の下に prototype を書くのと一緒だということ。

インスタンス(分身)を生成するから、引数を保持したままで、

いろんな呼び出し方でくり返し使えるよっていう、シンプルにそれだけだと思う。

「コンストラクタ」とは「最初に実行されるやつ」です。
「一番上に書く」のと何が違うのか?多分一番上に書くより先に実行されるということでしょう。

以上です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1