Cuándo usar camelCase
camelCase produce identificadores utilizables directamente en JavaScript; background-color pasa a backgroundColor en APIs de estilo.
Guía de convenciones de nombres
camelCase elimina separadores y marca palabras con mayúsculas; kebab-case une palabras minúsculas con guiones. Ambos suelen convivir en distintas capas de un proyecto web.
| Diferencia | camelCase | kebab-case |
|---|---|---|
| Ejemplo | backgroundColor | background-color |
| Uso habitual | Identificadores JavaScript, propiedades de objeto, estilos DOM y código de aplicación | URLs, slugs, nombres CSS, archivos, configuración y texto CLI |
| Separador de palabras | Ninguno | Guion (-) |
| Capitalización | Palabras internas capitalizadas | Normalmente todo minúsculas |
| Identificador JavaScript | Sí | No sin comillas |
| Límite web típico | Código de aplicación | URL / CSS / nombre textual |
camelCase produce identificadores utilizables directamente en JavaScript; background-color pasa a backgroundColor en APIs de estilo.
kebab-case hace visibles los límites y encaja en URLs, slugs, archivos, CSS y configuración textual.
| Contexto | Convención recomendada | Motivo |
|---|---|---|
| Identificadores JavaScript y propiedades de objeto | camelCase | Los guiones no son válidos en identificadores JavaScript sin comillas; camelCase se puede usar directamente. |
| URL, slugs y muchos nombres de archivo | kebab-case | Los guiones hacen legibles los límites de palabra sin depender de mayúsculas y minúsculas. |
| Propiedades CSS frente a acceso style en JavaScript | kebab-case en CSS, camelCase en JavaScript | CSS usa nombres con guiones, mientras que las API style del DOM y React exponen los nombres camelCase correspondientes. |
| Nombres de Custom Elements | Nombre con guion | Los Custom Elements requieren un guion en el nombre, por lo que una forma tipo kebab-case encaja con la restricción de la plataforma. |
Usa camelCase para identificadores JavaScript y kebab-case cuando se espere un nombre externo con guiones; convierte solo en ese límite.
Pega un identificador para ver el formato objetivo y los estilos compatibles. La conversión se ejecuta en tu navegador.
user-profile-image-url
userProfileImageUrlUserProfileImageUrluser_profile_image_urluser-profile-image-urlUSER_PROFILE_IMAGE_URLuser.profile.image.urluser/profile/image/urlLa conversión ocurre localmente en tu navegador. Tu entrada no se envía a un servidor de conversión.