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
相关产品推荐
相关产品推荐

