You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript解构赋值中下划线(_)在变量绑定中的作用是什么?

JavaScript解构赋值中下划线(_)在变量绑定中的作用

在你提供的代码示例里,下划线_是用来忽略解构过程中不需要的元素的占位符,是JS社区里的通用约定。

具体到这段代码:

function getDate(string) {
     let [_, month, day, year] = /(\d{1,2})-(\d{1,2})-(\d{4})/.exec(string); 
     return new Date(year, month -1, day); 
} 
                    
console.log(getDate("1-30-2003")); 
// → Thu Jan 30 2003 00:00:00 GMT+0100 (CET)

正则的exec()方法执行后会返回一个数组:第一个元素是整个正则匹配到的完整字符串(这里就是"1-30-2003"),后面的元素依次是正则里每个括号分组匹配到的内容("1"、"30"、"2003")。

我们只需要后面三个分组的结果来创建日期,但解构赋值要求变量顺序和数组元素顺序严格对应。这时候用_占住第一个位置,就能跳过不需要的完整匹配字符串,让month、day、year精准对应到后面三个有用的分组值。

需要注意的是,_不是JS语法强制的特殊符号,你完全可以用其他变量名(比如ignore),但用下划线是业内默认的“这个变量我不会使用”的标识,能让代码可读性更强,其他开发者一看就知道这个位置的值是被刻意忽略的。

内容的提问来源于stack exchange,提问作者Jesse J Sosmena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 06:35:28