Saltar al contenido principal
Curso/Funciones/Parámetros Opcionales y Default
Volver a Funciones

Funciones — Leccion 3

·15 min

Parámetros Opcionales y Default

Parámetros que no son obligatorios.

Parámetros opcionales

Usa ? para marcar un parámetro cómo opcional.

typescript
function saludar(nombre: string, saludo?: string): string {
  return `${saludo || "Hola"}, ${nombre}!`;
}

saludar("Ana");          // "Hola, Ana!"
saludar("Ana", "Buenos días"); // "Buenos días, Ana!"

Regla: Los opcionales siempre van al final.

Parámetros con valor default

typescript
function crearUsuario(
  nombre: string,
  rol: string = "usuario",
  activo: boolean = true
): string {
  return `${nombre} - ${rol} - activo: ${activo}`;
}

crearUsuario("Ana");                    // "Ana - usuario - activo: true"
crearUsuario("Juan", "admin");          // "Juan - admin - activo: true"
crearUsuario("Pedro", "editor", false); // "Pedro - editor - activo: false"

Default con expresiones

typescript
function generarId(prefijo: string = "id"): string {
  return `${prefijo}-${Date.now()}`;
}

function obtenerFecha(formato: string = "es-ES"): string {
  return new Date().toLocaleDateString(formato);
}

Opcionales vs Default

typescript
// Opcional: puede ser undefined
function buscar(query: string, limite?: number): string[] {
  // limite es number | undefined
  const max = limite ?? 10; // Default manual
  return [];
}

// Default: siempre tiene valor
function buscar(query: string, limite: number = 10): string[] {
  // limite es number
  return [];
}

Ejercicio pratico

Crea una función 'crearMensaje' con autor (requerido), asunto (opcional) y prioridad (default 'normal').

exercise.ts
Loading...
Resultado

Haz clic en "Ejecutar" para ver el resultado...

Curso de TypeScript — Aprende desde cero