検索

ホームページ  >  に質問  >  本文

javascript - Typescript には、インターフェイスおよびオブジェクト リテラルの追加プロパティの検出に問題があります。アサーションまたは変数を使用するときに追加プロパティが検出されないのはなぜですか?

リーリー

ts このコードをコンパイルするとエラーが発生しますが、以下の 2 つの方法を使用するとエラーが発生しません。原理は何ですか?公式サイトの説明は私には理解不能で、ts 構文が非常にカジュアルな印象を受けるだけです...

リーリー ###または### リーリー

この方法ではエラーは報告されません。アサーション (as/<>) を使用する場合、インターフェイスはどのようなルールに従って比較されますか?次に、オブジェクト リテラルを変数にコピーします。これがオブジェクトへの参照ポインターであることはわかっていますが、追加のプロパティが検出されないのはなぜですか?公式サイトアドレス

習慣沉默習慣沉默2710日前686

全員に返信(2)返信します

  • 为情所困

    为情所困2017-06-30 09:54:24

    最初の例:as 不是断言吧 as 是强制转化 就说明你知道你要做的事情 当然 ts 也就让你编译过了
    第二个例子 好像本来就应该过的吧 color 你又不是一定要; colour は別の属性です
    これまで使用されなかった理由は、ts にオブジェクト リテラルに対する独自のチェックがあるためです

    返事
    0
  • PHP中文网

    PHP中文网2017-06-30 09:54:24

    1. 強制型変換とは、変数を別の型として強制的に使用するもので、実行時に発生した問題はユーザーの責任となります。

    2. オブジェクト リテラルを使用してオブジェクトを割り当てる検出ロジックは、変数を使用してオブジェクトを割り当てるメカニズムとは異なります。

    リーリー

    返事
    0
  • キャンセル返事