这是帕斯卡案例:SomeSymbol
这是骆驼案:someSymbol
这是蛇案例:some_symbol
所以我的问题是是否有一个被广泛接受的名称:some-symbol
?它通常用于url。
这是帕斯卡案例:SomeSymbol
这是骆驼案:someSymbol
这是蛇案例:some_symbol
所以我的问题是是否有一个被广泛接受的名称:some-symbol
?它通常用于url。
这个案例约定并没有真正的标准名称,并且对于应该如何命名存在分歧。
也就是说,截至 2019 年,有充分的理由证明kebab-case获胜:
脊柱案例是一个遥远的第二,没有其他术语有任何牵引力。
此外,kebab-case已进入多个 javascript 代码库的词典,例如:
但是,人们仍然使用其他术语。Lisp 几十年来一直使用这个约定,正如Wikipedia entry中所描述的那样,所以有些人将其描述为lisp-case。我见过的其他一些形式包括caterpillar-case、dash-case和hyphen-case,但这些都不是标准的。
因此,您的问题的答案是:不,这种案例约定没有一个被广泛接受的名称,类似于被广泛接受的snake_case或camelCase。
它被称为kebab-case。请参阅lodash 文档。
它有时也被称为毛毛虫案例
这是最著名的案例,它有很多名字
kebab-case
: 官方软件最常用的名字caterpillar-case
dash-case
hyphen-case
或者hyphenated-case
lisp-case
spinal-case
css-case
slug-case
friendly-url-case
在此处添加正确的链接Kebab Case
这是所有小写字母,用 - 分隔单词。
由于字符 (-) 被称为“连字符”或“破折号”,因此将其命名为“破折号大小写”或“连字符大小写”(不太常用)似乎更自然。
如Wikipedia中所述,还使用了“ kebab-case ”。显然(见答案)这是因为这个角色看起来像一个烤肉串……不过它需要一些想象力。
例如在lodash lib中使用。
最近,“ dash-case ”被
我一直叫它,听说它被称为“dashcase”。
我只想说它是hyphenated。
在 Salesforce 中,它被称为kebab-case
. 见下文
https://developer.salesforce.com/docs/component-library/documentation/lwc/lwc.js_props_names
我一直把它称为kebab-case
.
有趣的是,SCREAM-KEBAB
当所有字母都大写时,我听说人们称它为 a。
我一直很喜欢kebab-case
,因为当您需要空格时,它似乎是最易读的。但是,一些程序将破折号解释为减号,它可能会导致问题,因为您认为是名称变成了减法运算。
first-second // first minus second?
ten-2 // ten minus two?
此外,一些框架会解析 kebab cased 属性中的破折号。例如,GitHub Pages 使用Jekyll,Jekyll 会解析它在 md 文件中找到的任何破折号。例如,2020-1-2-homepage.md
在GitHub Pages上命名的文件被放入一个文件夹,该文件夹的结构\2020\1\2\homepage.html
与网站编译时的结构相同。
is或E的更安全的替代方法kebab-case
是,与减号相比,下划线引起的混淆更少。snake_case
SCREAMING_SNAKE_CAS
这是最近的混乱。Angular JS 和 Pluralsight 课程和有关 Angular 的书籍中到处都是文档,都将 kebab-case 称为蛇形案例,而不是区分两者。
它太糟糕的毛毛虫箱没有粘住,因为蛇箱和毛毛虫箱很容易记住并且实际上看起来就像它们所代表的(如果你有很好的想象力的话)。
我对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();
}
这种套管也可以称为“slug”,将一个短语变成它的过程“slugify”。