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>
