Typescript 打字机脚本:";类型Darray“;类型化数组的接口

Typescript 打字机脚本:";类型Darray“;类型化数组的接口,typescript,typed-arrays,Typescript,Typed Arrays,我如何告诉TypeScript,给定的参数包含以下内容之一 能够选择最适合您需要的类型化数组的类型(例如,库就是这样做的)并不少见 我想检查传入构造函数的内容是否确实标识了一个类型化数组。但是在我的lib.es6.d.ts中,没有一个类型化数组继承自公共接口 相关问题:“ArrayLike”界面的用途是什么?typescript没有TypedArray界面,但像建议一样,您可以使用所有类型数组的超类型。typescript没有TypedArray界面,但像建议一样,您可以使用所有类型数组的超类型

我如何告诉TypeScript,给定的参数包含以下内容之一

能够选择最适合您需要的类型化数组的类型(例如,库就是这样做的)并不少见

我想检查传入构造函数的内容是否确实标识了一个类型化数组。但是在我的lib.es6.d.ts中,没有一个类型化数组继承自公共接口


相关问题:“ArrayLike”界面的用途是什么?

typescript没有
TypedArray
界面,但像建议一样,您可以使用所有类型数组的超类型。

typescript没有
TypedArray
界面,但像建议一样,您可以使用所有类型数组的超类型。

如果您不喜欢使用
ArrayBufferView
,根据,唯一的其他选项是创建自己的
TypedArray
界面

type TypedArray =
  | Int8Array
  | Uint8Array
  | Uint8ClampedArray
  | Int16Array
  | Uint16Array
  | Int32Array
  | Uint32Array
  | Float32Array
  | Float64Array;
注意:与
ArrayBufferView
方法不同,这不包括
DataView
对象


最后,
ArrayLike
接口用于可以由数字索引并具有长度的所有内容。这包括DOM
NodeList
,它不包含
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
属性。