DEV Community

Cover image for Parámetros opcionales y nullish coalescing en Typescript
Daniel Mezagini
Daniel Mezagini

Posted on

3 2

Parámetros opcionales y nullish coalescing en Typescript

Los parámetros opcionales siempre deben ir al final

función con parámetros obligatorios:

export const someFunction = (param1: string, param2: number, param3?: boolean) => {

  return {
    param1,
    param2: param2 ?? 10,
    param3: param3 ?? false
  }

}
Enter fullscreen mode Exit fullscreen mode

También está en uso el nullish coalesing. (??). Que es “si param viene null o undefined asigna este valor que pongo a la derecha.

Es importante destacar que los valores que se aplicarían en caso de ir null o undefined, no sucederá para el param2. Porque es un dato de entrada obligatorio, y ese mismo dato es el que tendrá salida.

A excepción del param3. Ese puede quedar indefinido. Y sí aplicaría el nullish coalesing.

Otra manera de definir una función con parámetros opcionales:

export const otherSomeFunction = (param1: string, param2: number = 23, param3: boolean = false) => {

  return {
    param1,
    param2,
    param3
  }
Enter fullscreen mode Exit fullscreen mode

En caso que no se proporcione datos para las props param2 y param3 se asignará el valor por defecto que se les está colocando.

quizá te preguntarás si puedes usar || en lugar de ?? para retornar un valor por defecto en caso que la variable esté nula o indefinida. La respuesta es NO.

?? ⇒ se aplicará la instrucción en caso de que el espacio en memoria sea null o undefined.

|| ⇒ se aplicará la instrucción en caso de que el espacio en memoria sea 0, ‘’, false, undefined, null.

Notas del Curso de Typescript: Tipos Avanzados y Funciones - @Platzi

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay