Array VS Type[] in Typescript


насколько я знаю тип объекта может быть определен двумя способами, когда это массив.

property_name: type

где тип может быть либо

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

и

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

что такое разница между двумя случаями? Или я что-то недопонимаю (возможно, что-то о используется в кастинге?)

EDIT поскольку вопрос помечен как дубликат, я знаю, что есть другой вопрос о любом[] Но все же я взглянул на него перед публикацией, и для меня это было больше о типе "любой", чем другой [] VS я спросил

2 73

2 ответа:

нет никакой разницы. Это эквивалентно написать:

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

источник: справочник.

foo: Array

означает, что это простой массив, с неявным any тип для членов

foo: string[]

означает, что это массив строк, т. е. TypeScript будет умственным, если вы попытаетесь вставить в этот массив что-либо, кроме строк.