DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Edited on

2

Fundamentos de TypeScript 🦆| #12: Parámetros opcionales y valores por defecto en funciones

Parámetros opcionales

En TypeScript para poder definir un parámetro opcional en una función basta con usar el símbolo ? de la siguiente manera:

En este ejemplo, el parámetro foto es opcional puesto que tiene el símbolo ?, pese a que la función recibe 3 parámetros el último es opcional, por ende sino lo pasamos la función se ejecutara bien.

Parámetros por defecto

Basta con igualar el parámetro al valor que deseamos. Si al llamar la función este parámetro no recibe valor entonces tomará el valor por defecto.

Ahora si no pasamos nada al parámetro foto tomara el valor por defecto "http://mi-photo-por-defecto".

Orden de los parámetros

El orden sí importa, por eso se recomienda escribir los parámetros de una funcion en el siguiente orden:

Primero: Parámetros obligatorios
Segundo: Parámetros opcionales
Último: Parámetros por defecto (siempre al final)

Esto hará que las funciones no se rompan a largo plazo haciendo más mantenible el código escrito.

function imprimirDatos(nombre:string, edad?:number, peso:number = 50 ){
  ...
}

Enter fullscreen mode Exit fullscreen mode

Conclusiones

  • Para usar un parámetro opcional debemos emplear ? como en Node.
  • Para usar un parámetro por defecto solo igualamos al valor que deseamos.
  • El orden de los parámetros importa.

Referencias

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more