JS中的函数重载,主要说的是类中方法的重载,或者说,函数内部函数的重载,这意味着多个函数是可以有相同的名字的,只要参数的个数不同,那么就可以认为是不同的函数。
主要的实现原理为
fn.length,就是每一个函数对象中的
length参数,用于表示函数定义中的参数个数。
但是与传统的面向对象的重载有所不同的是,参数类型的不同并不能构成重载,TS的扩展可以实现,但是如果编译为JS后,仍然会丢失这一特性。
函数的重载可能会造成一丢丢的性能问题,可以将其定义为一个函数,然后通过
arguments.length来判断参数个数,做出不同的处理。
https://blog.fundebug.com/2017/07/24/javascript_metho_overloading/



