آداپتورها توابع مرتبهی بالایی (HOF یا Higher Order Function چیست؟) هستند شکل توابع (تابع unary و binary و ternary و n-ary چیست؟) را یکسان میکنند.
برای مثال در قطعه کد زیر آداپتورهای unary و binary تابعی مانند f که تعداد نامشخصی از ورودیها را میپذیرد (Variadic Fucntion هستند) را تبدیلش میکند به تابعی به شکل unary و binary که تنها یک و دو ورودی به ترتیب میگیرند.
function uanry(fn) {
return function one(arg){
return fn(arg);
}
}
function vinary(fn) {
return function two(arg1,arg2){
return fn(arg1,arg2);
}
}
function f(...args) {
return args;
}
let g = unary(f);
let h = binary(f);
g(1,2,3,4); // [1]
h(1,2,3,4); // [1,2]