首先我使用填充功能
const range = new Array(layernum.length).fill(NaN);//[ts] Property 'fill' does not exist on type 'any[]'
处理这个问题,我用
const range = new Int32Array(layernum.length).fill(NaN);
代替
虽然,它会引起另一个问题
let layer = range.map(e => range.map(e => e)); //Type 'Int32Array' is not assignable to type 'number'
所以如何在Typescript中使用原型
答案 0 :(得分:4)
数组的SELECT * FROM TABLE1 WHERE EID IN (SELECT Item
FROM dbo.SplitString(SELECT TOP 1 E_LIST FROM TABLE2 WHERE CID ='C01'))
方法仅存在于ES6或更高版本中。为了让typescript识别Array类的propper ES6版本,您需要确保在fill
的{{1}}属性中包含es6
。例如:
lib
答案 1 :(得分:3)
如果您不想/不能使用lib.es6.d.ts
,那么您可以使用method signature更新编译器:
declare global {
interface Array<T> {
fill(value: T, start?: number, end?: number): this;
}
}