碎片時(shí)間學(xué)編程「342]:綁定函數(shù)上下文

創(chuàng)建一個(gè)使用給定上下文調(diào)用 fn 的函數(shù),可以選擇將任何額外提供的參數(shù)添加到參數(shù)中。 返回一個(gè)函數(shù),該函數(shù)使用 Function.prototype.apply() 方法將給定的上下文應(yīng)用到 fn。 使用擴(kuò)展運(yùn)算符 (...) 將任何額外提供的參數(shù)添加到參數(shù)中。
JavaScript
const bind = (fn, context, ...boundArgs) => (...args) => ?fn.apply(context, [...boundArgs, ...args]);
示例:
function greet(greeting, punctuation) {
? return greeting + ' ' + this.user + punctuation;
}
const freddy = { user: 'fred' };
const freddyBound = bind(greet, freddy);
console.log(freddyBound('hi', '!')); // 'hi fred!'
更多內(nèi)容請(qǐng)?jiān)L問我的網(wǎng)站:https://www.icoderoad.com
標(biāo)簽: