Soy nuevo en TypeScript y aprendo sobre genéricos. Probé esta sintaxis a continuación y funcionan, así que estoy pensando que son lo mismo.
¿Es correcta mi suposición?
usando generic como en new Promise<number>
const promise = new Promise<number>((resolve, reject) => { //do smth... }); usando genérico como en promise : Promise<number>
const promise : Promise<number> = new Promise((resolve, reject) => { //do smth... });En resumen: en la práctica probablemente actúen de la misma manera
Largo: sí, hay una diferencia, el primer ejemplo que diste pasa el número de tipo como tipo a la clase Promesa y luego el constructor devuelve una nueva instancia del tipo Promesa, en ese caso el tipo de la variable está implícito, está implícito a través del valor que le das.
En su segundo ejemplo, en cambio, escribe explícitamente su variable y luego le asigna una Promesa genérica.
Entonces: 1. Tipo de valor mínimo implícito de la variable, 2. Tipo dado explícitamente.