どのように質問をfomulateする方法がわからないが、これはそうである:TS:なぜ、有効でないタイプをジェネリックタイプの変数に割り当てることができますか?
interface X {
some: number
}
let arr1: Array<X> = Array.from([{ some: 1, another: 2 }]) // no error
let arr2: Array<X> = Array.from<X>([{ some: 1, another: 2 }]) // will error
エラー:
Argument of type '{ some: number; another: number; }[]' is not assignable to parameter of type 'ArrayLike<X>'.
Index signatures are incompatible.
Type '{ some: number; another: number; }' is not assignable to type 'X'.
Object literal may only specify known properties, and 'another' does not exist in type 'X'.
がなぜ最初のケースに誤りがありません(タイプの互換性チェックなし)、これは設計上のものか、それとも問題がありますか?
この制限はアレイに限定されず、[この回答](http://stackoverflow.com/a/31816062/43848)で詳細に説明されています。 – artem