这是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();
}