startsWith 是 ES6 为 String.prototype 新增的原生方法,用于检测字符串是否以指定子串开头,返回布尔值;支持可选起始索引参数,区分大小写,不支持正则,空字符串恒返回 true。

startsWith 是 ES6 为 String.prototype 新增的原生方法,专用于检测字符串是否**以指定子串开头**,返回布尔值,语义清晰、用法直接。
基础用法:判断是否以某内容开头
只需传入要匹配的子串,它会从字符串首字符(索引 0)开始比对:
-
"JavaScript".startsWith("Java")→ true -
"filename.txt".startsWith("file")→ true -
"hello".startsWith("H")→ false(区分大小写) -
"abc".startsWith("")→ true(空字符串恒成立)
进阶用法:从指定位置开始检查开头
第二个参数是可选的 起始索引,表示“从该位置开始,看后续部分是否以目标子串开头”:
-
"/users/profile".startsWith("users", 1)→ true(从索引 1 开始是"users/profile",确实以"users"开头) -
"hello".startsWith("ll", 2)→ true(从索引 2 开始是"llo",以"ll"开头) -
"test".startsWith("t", 5)→ false(索引 5 超出字符串长度,无法匹配)
常见用途和注意事项
这个方法特别适合做轻量级校验,比如:
- 判断 URL 协议:
url.startsWith("https://") - 识别路径前缀:
path.startsWith("/api/") - 文件类型初筛:
fileName.startsWith("temp_")
注意它不支持正则表达式,只接受字符串;也不修改原字符串,始终返回 true 或 false。











