配列 VS Type[] in Typescript 質問する

配列 VS Type[] in Typescript 質問する

私の知る限り、配列の場合、プロパティの型は 2 つの方法で定義できます。

property_name: type

ここで、typeは

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

そして

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

2 つのケースの違いは何でしょうか? それとも、私が何かを誤解しているのでしょうか (おそらく、キャストで使用される <> に関する何かでしょうか)?

編集:質問が重複としてマークされているので、any[]に関する他の質問があることは承知していますが、投稿する前に確認したところ、私にとっては[]と<>の違いよりも「any」型に関するものでした。

ベストアンサー1

意味的な違いはない

まったく違いはありません。は の配列の省略構文Type[]です。は汎用構文です。 これらは完全に同等です。TypeArray<Type>

ハンドブックには、ここに例これは次のように書くことと同等です:

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;
}

以下は引用ですリリースノート:

具体的には、number[]は の省略形でArray<number>あり、Date[]は の省略形ですArray<Date>

readonly型修飾子について

TypeScript 3.4では、readonly型修飾子が導入されました。精密:

readonly修飾子は配列型とタプル型の構文にのみ使用できます。

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

次の宣言は以下と同等ですreadonly boolean[]

let okay2: ReadonlyArray<boolean>;

おすすめ記事