Quando usar camelCase
camelCase gera identificadores válidos em JavaScript; background-color vira backgroundColor em APIs de style.
Guia de convenções de nomenclatura
camelCase remove separadores e marca palavras com maiúsculas; kebab-case une palavras minúsculas com hífens. Os dois aparecem em camadas diferentes de projetos web.
| Diferença | camelCase | kebab-case |
|---|---|---|
| Exemplo | backgroundColor | background-color |
| Uso comum | Identificadores JavaScript, propriedades de objeto, estilos DOM e código da aplicação | URLs, slugs, nomes CSS, arquivos, configuração e texto CLI |
| Separador de palavras | Nenhum | Hífen (-) |
| Capitalização | Palavras internas capitalizadas | Normalmente tudo minúsculo |
| Identificador JavaScript | Sim | Não sem aspas |
| Fronteira web típica | Código da aplicação | URL / CSS / nome textual |
camelCase gera identificadores válidos em JavaScript; background-color vira backgroundColor em APIs de style.
kebab-case torna os limites explícitos e funciona bem em URLs, slugs, arquivos, CSS e configuração textual.
| Contexto | Convenção recomendada | Por quê |
|---|---|---|
| Identificadores JavaScript e propriedades de objeto | camelCase | Hífens não são válidos em identificadores JavaScript sem aspas; camelCase pode ser usado diretamente. |
| URLs, slugs e muitos nomes de arquivo | kebab-case | Hífens deixam os limites entre palavras legíveis sem depender de maiúsculas e minúsculas. |
| Propriedades CSS versus acesso style em JavaScript | kebab-case em CSS, camelCase em JavaScript | CSS usa nomes com hífens, enquanto APIs style do DOM e React expõem os nomes camelCase correspondentes. |
| Nomes de Custom Elements | Nome com hífen | Custom Elements exigem um hífen no nome, então uma forma parecida com kebab-case combina com a restrição da plataforma. |
Use camelCase para identificadores JavaScript e kebab-case quando o nome externo exigir hífens; converta apenas nessa fronteira.
Cole um identificador para ver o formato alvo e os estilos compatíveis. A conversão roda localmente no navegador.
user-profile-image-url
userProfileImageUrlUserProfileImageUrluser_profile_image_urluser-profile-image-urlUSER_PROFILE_IMAGE_URLuser.profile.image.urluser/profile/image/urlA conversão acontece localmente no navegador. Sua entrada não é enviada a um servidor de conversão.