gpt4 book ai didi

typescript - Typescript 中的 Array VS Type[]

转载 作者:搜寻专家 更新时间:2023-10-30 20:28:37 25 4
gpt4 key购买 nike

据我所知,属性的类型可以通过两种方式定义,当它是数组时。

property_name: type

类型可以是

Array<string>, Array<MyType>, etc. (e.g. let prop1: Array<string>)

string[], MyType[], etc. (e.g. let prop1: string[])

这两种情况之间的区别是什么?还是我误解了什么(也许关于 <> 在类型转换中使用的东西?)

EDIT 由于问题被标记为重复,我知道还有关于 any[] 的其他问题,但在发布之前我仍然看了一下它,对我来说更多的是关于类型'any' 比 [] VS <> 我问的不同

最佳答案

没有任何语义差异

完全没有区别。 Type[]Type 数组的简写语法 . Array<Type>通用语法。它们是完全等价的。

手册提供an example here .相当于写:

function loggingIdentity<T>(arg: T[]): T[] {
console.log(arg.length);
return arg;
}

或者:

function loggingIdentity<T>(arg: Array<T>): Array<T> {
console.log(arg.length);
return arg;
}

这是来自 some release notes 的引述:

Specifically, number[] is a shorthand version of Array<number>, just as Date[] is a shorthand for Array<Date>.

关于readonly类型修饰符

TypeScript 3.4,引入了 readonly类型修饰符。用a precision :

the readonly type modifier can only be used for syntax on array types and tuple types

let err2: readonly Array<boolean>; // error!    
let okay: readonly boolean[]; // works fine

以下声明等同于readonly boolean[] :

let okay2: ReadonlyArray<boolean>;

关于typescript - Typescript 中的 Array<Type> VS Type[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36842158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com