page change typescript

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 de Array<number> , al igual que Date[] es una abreviatura de Array<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.