2017-05-08 3 views

答えて

1

いいえ、そのようなものが活字体ではありません:

  • strictNullChecksフラグがセットされていれば、(ユーザ定義を含む)各タイプはdefaultそれ自身を必要としますインスタンスです。実用的ではありません

  • 設定されていない場合、デフォルト値はundefinedです。そしてその後も、あなたがジェネリック型情報ので、一般的にそれらを使用することはできません - 特別defaultオペレータ

あなたは、この動作が必要な場合は、あなたが必要とするタイプごとにデフォルトの機能を自分で定義する必要がありますを持つ点ランタイム

0

で保存されていない、この仕事をする?:

function def(t: any): any { 
    switch (t) { 
     case String: return ""; 
     case Number: return 0; 
     case Foo: return new Foo(); 
     default: return null; 
    } 
} 

let str = def(String); // = "" 
let myClass = def(MyClass); // = null 
関連する問題