Ped*_*ado 5 javascript ecmascript-6
例如,如果我在javascript中有以下功能:
var f1 = function(a, b, c) {}
console.log(f1.length); // 3
Run Code Online (Sandbox Code Playgroud)
但是使用此功能,输出是不同的:
var f2 = function(a, b, c = 6) {}
console.log(f2.length); // 2
Run Code Online (Sandbox Code Playgroud)
如何计算f2INCLUDING可选参数的参数数量?
Ros*_*son -1
我不知道这是否是最好的方法但是怎么样
f2.toString().split(',').length
Run Code Online (Sandbox Code Playgroud)
编辑:好吧,如果函数内部有逗号,这将不起作用,可能需要更多地对其进行正则表达式。
怎么样:
f2.toString().match(/^function\s*\(([^)]+)\)/)[1].split(',').length
Run Code Online (Sandbox Code Playgroud)