Search code examples
javascriptcallbindapply

How can i send context in this object?


For example i have simple code:

let arrayOfObjects = [{
  arrays: [arraysFunction("array object 1", "some url", () => {
    console.log(this);  // it should return {name: "array object 1", url: "some url", callback: fn}
  }])
}];


function arraysFunction(name, url, callback) {
  return {name, url, callback}
}

I would be want to have here my array object in this how can i make it with (apply, call, bind) ?


Solution

  • To use all/apply just use the following

    let object = {
      arrays: [arraysFunction("array object 1", "some url", function(){
        console.log(this);
      })]
    };
    
    
    function arraysFunction(name, url, callback) {
      return callback.apply({name, url, callback});
    }