ウェブサイト検索

TypeScript の配列キャスト


ライブラリのラッパーを使おうとしているのですが、そのライブラリは入力パラメータとして配列を求めています。

配列のキャストを試みましたが、エラーが出ます:'any[]' を 'Array' に変換できません

これを動かす方法はありますか?

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

回答 #1

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 ファイル向けに設計されています。

回答 #2

正しい構文は次の通りだと思います:

var rows2 = <Array<any>>rows;

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

関連記事