用于指示函数参数在JavaScript中未使用的标准约定
有没有标准的方法可以在JavaScript中将函数参数标记为未使用的,类似于在Ruby中用下划线启动方法参数?我们有一个例子,这在jQuery的用于指示函数参数在JavaScript中未使用的标准约定,javascript,naming-conventions,unused-variables,Javascript,Naming Conventions,Unused Variables,有没有标准的方法可以在JavaScript中将函数参数标记为未使用的,类似于在Ruby中用下划线启动方法参数?我们有一个例子,这在jQuery的$中非常常见。每个代码都不需要索引,只需要值,在迭代回调中($。每个相对于数组#forEach向后): 使用\uuu是我见过的最接近标准的方法,是的,但我也见过很多其他方法-给它起一个反映其用途的名称(索引),称它为未使用的,等等 如果需要忽略多个参数,则不能重复相同的标识符(它应该是每个人的默认标识符,并且是模块和类构造中的默认标识符),因此必须执行\
$中非常常见。每个代码都不需要索引,只需要值,在迭代回调中($。每个
相对于数组#forEach
向后):
使用\uuu
是我见过的最接近标准的方法,是的,但我也见过很多其他方法-给它起一个反映其用途的名称(索引
),称它为未使用的,等等
如果需要忽略多个参数,则不能重复相同的标识符(它应该是每个人的默认标识符,并且是模块和类
构造中的默认标识符),因此必须执行\u 0
和\u 1
或\u
和\u
之类的操作,等等。使用支持解构的浏览器,您可以执行以下操作:
function ({}, {}, value) {
// console.log(value)
}
这有点简洁,因为它避免了多个参数具有相同名称的问题,也不会对将方法分配给
(lodash、下划线等)的库产生问题
这种方法的一个问题是,类型为undefined
或null
的未使用参数将抛出
对于未定义的
,一种解决方案是使用默认参数:
function ({}={}, {}={}, value) {
// console.log(value)
}
遗憾的是,对于null
没有这样简单的解决方案,我建议使用以下语法:
function(_index, value) {...}
若要使用lodash变量,请不要对其进行阴影处理,并保留参数说明
VS Code也会正确地突出显示这些名称,并且这些未使用的参数在autofix代码发出气味后不会被删除如何使用函数
对象
function third(){const[,thirdArg]=参数;
返回thirdArg;
}
控制台日志(第三个(1,2,3))代码>使用,可以执行以下操作:
function ({}, {}, value) {
// console.log(value)
}
函数f(…[,第三个]){
控制台日志(第三);
}
f(1,2,3)
从我到目前为止所看到的情况来看,它仍然在使用中。如果您希望删除未使用的变量,不幸的是,如果未使用的参数未定义
或null
@OlegsJeremejevs函数({}={},{}={},value){…}
在这里有帮助,但它会变得混乱…@oluckyman很好的解决方法!“不想命名一个未使用的arg?就哑铃吧!”哇,我一直认为分解一个原语值,即(function({}={}{}){})(0)
或var{a}=0
会抛出though@HanmingZeng-确实不是-(你必须做(\u0,\u1,value)
或者(在我的例子中)(unused0,unused1,value)
。我也看到了(\u0,\uu1,value)
,但是……是的。:-)曾经有一个斯特劳曼建议允许空白参数名,但它从未出现过。在Chromium中,编写一个函数声明,比如function(u,u,a){…}
(当然,在函数内部变量\uu
只包含第二个传递的参数)似乎效果不错但是没有错误,函数创建(并且工作)很好。@zrajm-仅在松散模式下。在严格模式下,不允许重复的参数名称。(最好总是使用严格模式,除非在极少数情况下不能使用。这也是模块和类的内容的默认设置。)我更喜欢@Joseph Marinier的答案,这对我来说似乎更简单。