typescript - change - page title angular 4
Array<Type> VS Type[] en Typecript (2)
Hasta donde yo sé, el tipo de una propiedad se puede definir de dos maneras cuando se trata de una matriz.
property_name: type
donde tipo puede ser
Array<string>, Array<MyType>, etc. (e.g. let prop1: Array<string>)
y
string[], MyType[], etc. (e.g. let prop1: string[])
¿Cuál es la diferencia entre los dos casos? ¿O estoy malinterpretando algo (tal vez algo sobre <> utilizado en el casting?)
EDITAR ya que la pregunta está marcada como duplicada, soy consciente de que hay otra pregunta sobre cualquier [] pero aún así la miré antes de publicarla y para mí era más sobre el tipo ''cualquiera'' que el diferente [] VS < > Pregunté
No hay diferencia.
Type[]
es la
sintaxis abreviada
para una matriz de
Type
.
Array<Type>
es la
sintaxis genérica
.
Son completamente equivalentes.
El manual proporciona un ejemplo aquí . Es equivalente a escribir:
function loggingIdentity<T>(arg: T[]): T[] {
console.log(arg.length);
return arg;
}
O:
function loggingIdentity<T>(arg: Array<T>): Array<T> {
console.log(arg.length);
return arg;
}
Y aquí hay una cita de algunas notas de lanzamiento :
Específicamente, el
number[]
es una versión abreviada deArray<number>
, al igual queDate[]
es una abreviatura deArray<Date>
.
foo: Array
significa que es una matriz simple, con
any
tipo implícito para sus miembros
foo: string[]
significa que es un conjunto de cadenas, es decir, TypeScript se volverá mental si intentas insertar algo que no sean cadenas en ese conjunto.