当我在intellij idea中编写javascript时,我可以检查我正在调用的函数的参数,它会显示类似的内容
我不确定这是否是一个 intellij 功能,它了解标准库,或者它是否是一个 javascript 功能,可以让您将参数标记为可选/必需。不管怎样,我想了解如何使用可选/必需参数创建自己的函数。我所知道的是,可选似乎是默认值,因为 Intellij 说我的所有函数的参数都是可选的。
从我看到的答案来看,这听起来像是 Intellij 的一项功能。但是,现在我想知道 Intellij 是否提供了一种方法让我将自己的函数参数标记为可选/必需。
使用ES6default function parameters
,你可以实现一个Required
FLAG,当调用具有所需参数的函数而不提供它们时,它将引发错误并停止执行。
// set a getter to a custom global identifier (P_REQUIRED)
Object.defineProperty( window , 'P_REQUIRED' , {
get : ()=>{
let err = new Error('');
let trace = err.stack.split('\n');
let msg = '';
for(let i=2;i<trace.length;i++) msg+=trace[i]+'\n';
throw new Error('Missing required parameter\n' + msg);
},
configurable : false
});
// declare a function with a mandatory parameter
function myFunc( myParam = P_REQUIRED ){
/* some code here */
}
// call the function without the parameters
myFunc();
// Error is thrown!
本质上,P_REQUIRED
当函数调用中未指定值时,解释器将其分配给参数。这会触发 getter 处理程序,它只是准备并抛出一个新的错误。
这是一个干净的跨浏览器解决方案,可以在任何现代环境中运行(需要 ES6)。
我实际上将它打包为一个 javascript 模块。
+信息:https://github.com/colxi/P_REQUIRED https://github.com/colxi/P_REQUIRED
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)