这是PascalCase: SomeSymbol
这是骆驼
这是snake_case: some_symbol
所以我的问题是,这是否有一个被广泛接受的名称:某种符号?它通常用于url。
这是PascalCase: SomeSymbol
这是骆驼
这是snake_case: some_symbol
所以我的问题是,这是否有一个被广泛接受的名称:某种符号?它通常用于url。
当前回答
这是最著名的案例,它有很多名字
烤肉箱:官方软件最常用的名称 caterpillar-case dash-case 连字符大小写或连字符大小写 lisp-case spinal-case css-case slug-case friendly-url-case
其他回答
它被称为烤肉箱。请参阅lodash文档。
我只想说它是连字符。
我一直把它叫做烤串箱。
有趣的是,当所有的字母都是大写的时候,我听到人们叫它尖叫烤肉串。
烤肉个案警告
我一直很喜欢“串字盒”,因为当你需要空格时,它似乎是最易读的。然而,有些程序将破折号解释为减号,这可能会导致问题,因为您认为的名称变成了减号操作。
first-second // first minus second?
ten-2 // ten minus two?
此外,一些框架还会解析kebab大小写属性中的破折号。例如,GitHub Pages使用Jekyll,而Jekyll解析它在md文件中发现的任何破折号。例如,一个名为“2020-1-2-2 -首页”的文件。当网站编译时,GitHub页面上的md会被放入一个结构为\2020\1\2\首页.html的文件夹中。
Snake_case vs kebab-case
相对于串号,更安全的替代方案是snake_case或SCREAMING_SNAKE_CASE,因为与负号相比,下划线会减少混淆。
在Salesforce中,它被称为烤肉箱。见下文
https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.js_props_names
我的ECMAScript建议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();
}