¿Por qué el orden de los parámetros opcionales causa problemas?

Resuelto Martin54 asked hace 1 año • 0 respuestas

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> {}
Martin54 avatar Feb 16 '24 14:02 Martin54
Aceptado

op?: stringes la abreviatura de op: string | undefined.

Cuando omites el opargumento en una llamada de función, obtienes esto:

Versión del código Resultado al omitir el opargumento en una llamada
op?: string undefined
op: string | null null

Dependiendo de la updateUserfunción del cuerpo, esto probablemente conducirá a un comportamiento diferente.

trincot avatar Feb 16 '2024 16:02 trincot