地獄の人typescript 2.0:デフォルト値のパラメータ
ここでは、厳密なヌルチェックモードを有効にした別のtypecript 2.0質問があります。あなたはすべてのパラメータのデフォルト値を持つ関数定義のであれば、:
(name?: string, age?: number) => void
右:次に、すべてのパラメータがオプションと見なされ
(name = "Luis", age = 40)=>void
、すなわち、それは我々が次のシグネチャを持っているかのようですか?私たちは、この署名していたときに今、何が起こる:私は厳格なヌル・チェック・モードを有効にすると、いけない、
(name: string, age: string) => void
今:VSコードによると
(name = "Luis", age: number) => void
を、その署名はと互換性があります
doIt(undefined, 30);
それはOKコンパイルが、私は間違っていないよ場合は、未定義のは唯一のオプションパラメータの種類のリストに自動的に追加されます:呼び出し、次のエラーが発生します。私はデフォルトの初期化されたパラメータへの参照が見つかりませんでした。
それで、以前の呼び出しがOKならば、誰かが私が公式ドキュメントでどこの情報を見つけることができるのかを教えてもらえますか?
おかげで、
ルイス
で問題を提起してお気軽に! –
ハローダン。 私の場合、doItはこの関数doIt(name = "Luis"、age:number){....}のようなものです。 –
これはコンパイル時にエラーが発生しなかった理由を説明していますが、@basaratは既に理由を説明しています。 –