web-dev-qa-db-ja.com

TypeScriptキャスト配列

入力パラメーターとして配列を必要とするライブラリのラッパーを使用しようとしています。

配列をキャストしようとしましたが、エラーが発生しました: 'any []'を 'Array'に変換できません

この作品を作る方法はありますか?

var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
44
Adam Tegen

TypeScriptには、配列の4つの可能な変換メソッドがあります。

let x = []; //any[]

let y1 = x as number[];
let z1 = x as Array<number>;
let y2 = <number[]>x;
let z2 = <Array<number>>x;

as演算子は主に*.tsxファイルを使用して、構文のあいまいさを回避します。

57
shadeglare

正しい構文は次のとおりです。

var rows2 = <Array<any>>rows;

これがinterface Array<T>にキャストする方法です

14

これは単なるバグだと思います-CodePlexサイトで問題を記録できますか?

回避策として、<Array><any>rows;

5
Ryan Cavanaugh

すべてのタイプのシンプルなソリューション

const myArray = <MyType[]>value;
3
Jayant Varshney