我正在浏览用javascript编写的图表库之一的代码,其中我看到将下划线(_)作为函数参数传递。这是什么意思?
e.g。
chart.x = function(_) {
if (!arguments.length) return lines.x;
lines.x(_);
lines2.x(_);
return chart;
};
有人可以对此进行更新......谢谢。
答案 0 :(得分:26)
在这种情况下,_
只是一个函数参数 - 单个下划线是一些程序员用来指示"忽略此绑定/参数的约定"。
由于JavaScript没有进行参数计数检查,因此可能完全省略了参数。这样一个"扔掉"标识符在其他语言中更常见,但请考虑arr.forEach(function (_, i) {..})
这样的情况,其中_
表示不使用第一个参数。
答案 1 :(得分:3)
_称为抛弃变量。这意味着实际上我们正在创建一个变量,但只是忽略了它。 现在,越来越多的开发人员在编写代码时将其用作语法糖或简写形式,因为编写代码很容易,而且每个字符减少了一个字符。
除了使用_之外,您还可以使用其他变量,例如temp,x等
例如:
() => console.log('Hello World')
_ => console.log('Hello World')
x => console.log('Hello World')
但是我个人更喜欢在不需要参数的情况下使用()类型而不是一次性变量。
请参阅以下代码,您将更好地理解它。
_作为参数,
f = _=> {
return _ + 2 ;
}
f(3)将返回5