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

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

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

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

習慣沉默
習慣沉默

全員に返信(2)
为情所困

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

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

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

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート