Skip to content

jyostudio/overload

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@jyostudio/overload

使 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("字符串调用")