En la imagen, la descripción de done()
, VSCode informa el tipo de parámetros con un error: any
o, a veces, con un signo de interrogación y dos puntos user?: any
.
¿Cuál es la diferencia entre ellos?
Quiero decir, ¿cuál es la diferencia entre usar solo dos puntos y usar dos puntos con un signo de interrogación cuando VSCode presenta tipos?
El signo de interrogación significa un parámetro opcional. Al llamar a done
, error
es un parámetro obligatorio que siempre debe proporcionar. user
es opcional, por lo que no es necesario que lo proporcione al llamar.
Aquí hay un ejemplo para definir un parámetro opcional.