使 JavaScript 函数拥有一定的重载能力。
浏览器
<script type="importmap">
{
imports: {
"@jyostudio/overload": "https://unpkg.com/@jyostudio/overload"
}
}
</script>
Node.js
npm install @jyostudio/overload
根据环境引用后,用法完全一致,不需要在使用时区分引用地址和方式。
下列代码演示了只允许空参数调用的函数。
import overload from "@jyostudio/overload";
const fn = overload([], function () {
console.log("只允许空参数调用。");
});
fn(); // 只允许空参数调用
// Error: The function "(anonymous)" does not have an overload that takes 1 arguments.
fn(123);
下面代码演示了如何搭配参数数量和类型进行调用。
import overload from "@jyostudio/overload";
const fn = overload()
.add([], function () {
console.log("空参数调用");
})
.add([String], function (str) {
console.log("字符串调用")