Qual é o nome do caso separado por hífen?
SomeSymbol
Este é o camelCase.: someSymbol
Este é o snake_case.: some_symbol
então a minha pergunta é se há um nome amplamente aceite para isto: some-symbol
? É comumente usado em url's.
15 answers
Não há realmente um nome padrão para este caso Convenção, e há desacordo sobre o que deve ser chamado.
Dito isto, a partir de 2019, há um caso forte a ser feito que kebab-case {[5] } está a ganhar:
o caso espinal é um segundo distante, e nenhum outro termo tem qualquer tracção.
Adicionalmente, o kebab-case entrou no léxico de várias bibliotecas de código javascript, por exemplo:
- https://lodash.com/docs/#kebabCase
- https://www.npmjs.com/package/kebab-case
- https://vuejs.org/v2/guide/components-props.html#Prop-Casing-camelCase-vs-kebab-case
Então a resposta à sua pergunta é: Não, Não há um único nome amplamente aceito para esta convenção de caso análogo a snake_case ou camelCase, que são amplamente aceites.
É referido como kebab-case . Ver lodash docs .
Também é conhecido por caterpillar-case
Adicionando aqui a ligação correcta Caso Kebab
Que é tudo minúsculas com palavras separadoras.
Como o personagem ( - ) é referido como "hífen" ou "traço", parece mais natural nomear este "dash-case", ou "hífen-case" (usado menos frequentemente).
Como mencionado em Wikipédia, "kebab-case " também é utilizado. Aparentemente (ver resposta ) isto é porque o personagem seria parecido com umespeto ... Mas precisa de imaginação.
Utilizado em lodash lib , por exemplo.
Recentemente, "caixa de instrumentos " foi utilizado por
- É o nome mais adoptado pelo software oficial.
caterpillar-case
dash-case
-
hyphen-case
ouhyphenated-case
lisp-case
spinal-case
css-case
slug-case
friendly-url-case
Vale a pena mencionar a partir da abolição:
Https://github.com/tpope/vim-abolish/blob/master/doc/abolish.txt#L152
Caixinha do lixo ou caixa de kebab
Na Salesforce, é referido como kebab-case
. Ver abaixo
Https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.js_props_names
É uma pena que a caterpillar-case não colou porque a snake_case e a caterpillar-case são facilmente lembradas e parecem-se com o que representam (se tiver uma boa imaginação).
A minha proposta ECMAScript para String.prototype.toKebabCase
.
String.prototype.toKebabCase = function () {
return this.valueOf().replace(/-/g, ' ').split('')
.reduce((str, char) => char.toUpperCase() === char ?
`${str} ${char}` :
`${str}${char}`, ''
).replace(/ * /g, ' ').trim().replace(/ /g, '-').toLowerCase();
}
Sempre o soube como kebab-case
.
Alerta De Caso Kebab
Eu sempre gosteikebab-case
como parece o mais legível quando você precisa de espaço em branco. No entanto, alguns programas interpretam o traço como um sinal de menos, e pode causar problemas como o que você acha que é um nome se transforma em uma operação de subtração.
first-second // first minus second?
ten-2 // ten minus two?
Além disso, alguns enquadramentos analisam os traços em propriedade do kebab. Por exemplo, as páginas do GitHub usam Jekyll , e o Jekyll analisa todos os traços que encontra num ficheiro md. Por exemplo, um arquivo chamado 2020-1-2-homepage.md
em páginas GitHub é colocado em uma pasta estruturada como \2020\1\2\homepage.html
quando o site é compilado.
Snake_case vs Kebab-case
Uma alternativa mais segura para kebab-case
é snake_case
, ou SCREAMING_SNAKE_CAS
E, como ressalta causa menos confusão quando comparado com um sinal de subtração.