Capitalizando una cadena de texto

JavaScript:
Capitalizando una cadena de texto

Cómo hacerlo:

En JavaScript, no existe un método incorporado para capitalizar cadenas directamente, pero es fácil de implementar utilizando métodos básicos de manipulación de cadenas.

Usando JavaScript Estándar

function capitalize(str) {
  if (!str) return '';
  return str.charAt(0).toUpperCase() + str.slice(1);
}

console.log(capitalize('hello world')); // Salida: "Hello world"

Versión ES6

Con los literales de plantilla de ES6, la función se puede escribir de una manera más sucinta:

const capitalize = (str) => !str ? '' : `${str[0].toUpperCase()}${str.slice(1)}`;

console.log(capitalize('hello ES6')); // Salida: "Hello ES6"

Usando Lodash

Lodash es una popular biblioteca de utilidades de terceros que ofrece una amplia gama de funciones para manipular y trabajar con valores de JavaScript, incluyendo cadenas. Para capitalizar una cadena usando Lodash:

// Primero, instala lodash si aún no lo has hecho: npm install lodash
const _ = require('lodash');

console.log(_.capitalize('EJEMPLO LODASH')); // Salida: "Lodash ejemplo"

Notar cómo Lodash no solo capitaliza la primera letra sino que también convierte el resto de la cadena a minúsculas, lo cual difiere ligeramente de la implementación en JavaScript puro.

Usando CSS (Solo para Fines de Visualización)

Si el objetivo es capitalizar texto para mostrarlo en la UI, se puede usar CSS:

.capitalize {
  text-transform: capitalize;
}
<div class="capitalize">hola css</div> <!-- Se muestra como "Hola css" -->

Nota: Este método cambia la manera en que el texto aparece en la página web sin alterar la cadena en sí misma en JavaScript.