¿Por qué el orden de los parámetros opcionales causa problemas?
Descubrí un pequeño problema en mi nest.js.
Tengo esta llamada a función y la primera no funciona y la segunda está bien. El problema es con ip
. Estoy llamando a esta función desde muchos lugares. Mi tsconfig tiene todo activado y no mencionó que sea un problema.
¿Por qué? ¿Alguien puede explicarlo, por favor?
async updateUser(
userId: string,
dto: myDto,
ip?: string,
isRegistration: boolean = false
): Promise<boolean> {}
async updateUser(
userId: string,
dto: myDto,
ip: string | null = null,
isRegistration: boolean = false
): Promise<boolean> {}
Aceptado
op?: string
es la abreviatura de op: string | undefined
.
Cuando omites el op
argumento en una llamada de función, obtienes esto:
Versión del código | Resultado al omitir el op argumento en una llamada |
---|---|
op?: string |
undefined |
op: string | null |
null |
Dependiendo de la updateUser
función del cuerpo, esto probablemente conducirá a un comportamiento diferente.