1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ES2015における{ClassName}構文についての解説

Last updated at Posted at 2021-02-13

ES2015における{ClassName}構文についての解説

1.前提知識となりますが、クラスとは、function型のインスタンスである。例として、任意のクラスClass01を定義し、typeof Class01を実行して戻り値が'function'であることをそれを証明します。補足の例として、下記構文を参考に。

    // 下にあるClass01定義と同じクラス(constructor)を定義している
    let Class01 =
      class Class01 {
        p1: string = '';
     }

    class Class01 {
      p1: string = '';
    }

2.{ClassName}についての説明です、同じ効果を持つ二つの構文を参考に

    // 下にある構文と同じ効果を持つ
    let v1 = { Class01 };

    let v1: { Class01: typeof Class01 } = {
      Class01: Class01  //プロパティClass01: function型の値Class01
    }

3.補足:Typeofオペレーターは実行時のみ働く仕様のようです。(同じfunctionなのにtypeof Class01 <> typeof Class02)

    class Class02 {
      p2: string = '';
    }
    let v2: { Class01: typeof Class01 } = {
      Class01: Class02  //エラー:typeof Class01 !== typeof Class02
    }
1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?