关于 JS 中方法名大小写问题

Huy大约 1 分钟javascriptjavascript

每当觉得自己基础还可以的时候,就会发现一些以前没有注意到的点。像在 JS 中,有些方法名是全小写的,而有些方法名则是驼峰式的。

例如 instanceof 里的 of 是小写,而 indexOf 里的 Of 是大写。

看起来像是拼写不统一,其实背后是两套完全不同的命名世界

obj instanceof Array
'hello'.indexOf('e')

原因

instanceof 是语法,不是函数。

instanceof 并不是一个普通方法名,它是语言内置的关键字(操作符)。类似的还有 typeofdeletein 等等。这些都是 JavaScript 语法的一部分,必须遵循全小写的命名规则。

obj instanceof Array

关键字的命名规则

几乎所有主流语言都有一个共识:

关键字一律使用小写。

原因很简单:

  • 它们属于“语言本身”
  • 不应该与变量、函数、类混淆
  • 小写更接近自然语言中的“语法词”

所以:

instanceof   // 合法
instanceOf   // ❌ 语法错误

在这里,of 只是关键字的一部分,而不是一个可以单独识别的单词。

标准库方法名规则

API 的命名遵循的是驼峰命名法(camelCase)

  • 第一个单词小写
  • 后续单词首字母大写
'hello'.indexOf('e')

这里的 Of 是一个“独立语义单词”,自然要大写。同类例子还有:

lastIndexOf
startsWith
endsWith
Loading...