ES2015における{ClassName}構文についての解説
2895 ワード
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
}
Author And Source
この問題について(ES2015における{ClassName}構文についての解説), 我々は、より多くの情報をここで見つけました https://qiita.com/MyNameIsCc/items/38445fcb79e164e1b44f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .