Typescript 打字机脚本:";类型Darray“;类型化数组的接口
我如何告诉TypeScript,给定的参数包含以下内容之一 能够选择最适合您需要的类型化数组的类型(例如,库就是这样做的)并不少见 我想检查传入构造函数的内容是否确实标识了一个类型化数组。但是在我的lib.es6.d.ts中,没有一个类型化数组继承自公共接口Typescript 打字机脚本:";类型Darray“;类型化数组的接口,typescript,typed-arrays,Typescript,Typed Arrays,我如何告诉TypeScript,给定的参数包含以下内容之一 能够选择最适合您需要的类型化数组的类型(例如,库就是这样做的)并不少见 我想检查传入构造函数的内容是否确实标识了一个类型化数组。但是在我的lib.es6.d.ts中,没有一个类型化数组继承自公共接口 相关问题:“ArrayLike”界面的用途是什么?typescript没有TypedArray界面,但像建议一样,您可以使用所有类型数组的超类型。typescript没有TypedArray界面,但像建议一样,您可以使用所有类型数组的超类型
相关问题:“ArrayLike”界面的用途是什么?typescript没有
TypedArray
界面,但像建议一样,您可以使用所有类型数组的超类型。typescript没有TypedArray
界面,但像建议一样,您可以使用所有类型数组的超类型。如果您不喜欢使用ArrayBufferView
,根据,唯一的其他选项是创建自己的TypedArray
界面
type TypedArray =
| Int8Array
| Uint8Array
| Uint8ClampedArray
| Int16Array
| Uint16Array
| Int32Array
| Uint32Array
| Float32Array
| Float64Array;
注意:与ArrayBufferView
方法不同,这不包括DataView
对象
最后,
ArrayLike
接口用于可以由数字索引并具有长度的所有内容。这包括DOMNodeList
,它不包含Array
原型上的大多数方法。如果您不喜欢使用ArrayBufferView
,根据,唯一的其他选择是创建您自己的TypedArray
接口
type TypedArray =
| Int8Array
| Uint8Array
| Uint8ClampedArray
| Int16Array
| Uint16Array
| Int32Array
| Uint32Array
| Float32Array
| Float64Array;
注意:与ArrayBufferView
方法不同,这不包括DataView
对象
最后,
ArrayLike
接口用于可以由数字索引并具有长度的所有内容。这包括DOM节点列表
,它不包含数组
原型上的大多数方法。没有内置别名,但您可以根据lib.es2017.typedarray.d.ts
中的类型自己创建一个别名
type TypedArray =
| Int8Array
| Uint8Array
| Uint8ClampedArray
| Int16Array
| Uint16Array
| Int32Array
| Uint32Array
| Float32Array
| Float64Array;
回答第二个问题:并非浏览器中使用的每个集合都使用正确的数组实现。一些数据结构,如
NodeListOf
或AggregateError
有不同的方法,但它们有一个相似之处——它们可以通过数字进行索引。您可以将ArrayLike
视为用于描述此类对象的抽象类型。没有内置别名,但您可以根据lib.es2017.typedarray.d.ts
中的类型自己创建一个别名
type TypedArray =
| Int8Array
| Uint8Array
| Uint8ClampedArray
| Int16Array
| Uint16Array
| Int32Array
| Uint32Array
| Float32Array
| Float64Array;
回答第二个问题:并非浏览器中使用的每个集合都使用正确的数组实现。一些数据结构,如
NodeListOf
或AggregateError
有不同的方法,但它们有一个相似之处——它们可以通过数字进行索引。您可以将ArrayLike
视为一种用于描述此类对象的抽象类型。这之前。这之前。ArrayBufferView不是所有类型数组的超类型(联合类型),例如,它没有length
属性。由于缺乏等价性,我们无法执行let a:ArrayBufferView,acc=0;对于(设i=0;i
因为TS会抱怨ArrayBufferView
没有length
属性。ArrayBufferView不是所有类型数组的超类型(联合类型),例如,它没有length
属性。由于缺乏等价性,我们无法执行let a:ArrayBufferView,acc=0;对于(设i=0;iArrayBufferView
没有length
属性。