Vivasoft-logo

2.15 Call, Bind āĻāĻŦāĻ‚ Apply

āĻ†āĻœāĻ•ā§‡āĻ° āĻ†āĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻŦāĻŋāĻˇā§Ÿ āĻšāĻšā§āĻ›ā§‡ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° Call(), Apply() āĻāĻŦāĻ‚ Bind() āĻŽā§‡āĻĨāĻĄ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ‡ āĻŽā§‡āĻĨāĻĄāĻ—ā§āĻ˛ā§‹ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻĨāĻžāĻ•āĻž āĻ–ā§āĻŦ āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨āĨ¤ āĻ¤āĻžāĻ‡ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‹ āĻ†āĻœāĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ‡āĻ‰āĻœāĻĢā§āĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋā§Ÿā§‡ āĻāĻ‡ āĻŽā§‡āĻĨāĻĄāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ¨āĻŋā§Ÿā§‡ āĻāĻ•āĻŸā§ āĻ˛ā§‡āĻ–āĻ¤ā§‡āĨ¤ āĻ†āĻļāĻž āĻ•āĻ°āĻŋ, āĻ†āĻœāĻ•ā§‡āĻ° āĻĒāĻ° āĻĨā§‡āĻ•ā§‡ āĻāĻ‡ āĻ¤āĻŋāĻ¨āĻŸāĻž āĻŽā§‡āĻĨāĻĄ āĻ¨āĻŋā§Ÿā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻ–āĻ¨ā§‹ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻŦā§‡ āĻ¨āĻž āĻ‡āĻ¨āĻļāĻžāĻ†āĻ˛ā§āĻ˛āĻžāĻšā§â€ŒāĨ¤

Call(), Apply() āĻāĻŦāĻ‚ Bind() āĻŽā§‡āĻĨāĻĄ āĻŦā§āĻāĻ¤ā§‡ āĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ “this” āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¯āĻĻāĻŋ “this” āĻ¨āĻŋā§Ÿā§‡ āĻĒā§œāĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻžāĻšāĻ˛ā§‡Â āĻāĻ–āĻžāĻ¨ā§‡ āĻ•ā§āĻ˛āĻŋāĻ•Â āĻ•āĻ°ā§āĻ¨āĨ¤

Call() āĻŽā§‡āĻĨāĻĄāĻƒ

Call() āĻŽā§‡āĻĨāĻĄ āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ “this” āĻāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¯ā§‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻ—ā§āĻ˛ā§‹ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ āĻšāĻŦā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĨ¤ Call() āĻŽā§‡āĻĨāĻĄ āĻ‡āĻ¨āĻĄāĻŋāĻ­āĻŋāĻœā§ā§ŸāĻžāĻ˛ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¨ā§‡ā§ŸāĨ¤ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ‡āĻŦāĻžāĻ° āĻ•ā§Ÿā§‡āĻ•āĻŸāĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ•āĨ¤

				
					let person = {
	name: "Saroar Hossain Shahan",
};

let getInfo = function (id) {
	return `Welcome ${this.name}, Your roll number is ${id}.`;
};

console.log(getInfo.call(person, 99)); // Welcome Saroar Hossain Shahan, Your roll number is 99.

				
			

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•ā§‹āĻĄā§‡ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ āĻ¯ā§‡, getInfo() āĻāĻ° āĻ¸āĻžāĻĨā§‡ Call() āĻŽā§‡āĻĨāĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ Call() āĻŽā§‡āĻĨāĻĄ āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ “this” āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ person āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻ—ā§āĻ˛ā§‹ āĻšāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻ˛ āĻšāĻšā§āĻ›ā§‡ āĻ¤āĻžāĻ° āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĻ¸āĨ¤ āĻšāĻ˛ā§āĻ¨ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ–āĻŋ āĻ¯ā§‡āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻĻā§‡āĻ° āĻ°āĻŋā§Ÿā§‡āĻ˛ āĻ˛āĻžāĻ‡āĻĢ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸā§‡ āĻ•āĻžāĻœā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ§āĻ°ā§āĻ¨, āĻ†āĻĒāĻ¨āĻŋ Person āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻž āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ˛ā§‡āĻ¨āĨ¤ āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ Student āĻ¨āĻžāĻŽā§‡ āĻ†āĻ°ā§‡āĻ•āĻŸāĻž āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻžāĻ¨āĻžāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ›āĻžāĻ¤ā§āĻ°āĻĻā§‡āĻ° āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ā§‡

				
					function Person(fName, lName, age) {
	this._firstName = fName;
	this._lastName = lName;
	this._age = age;
}

function Student(fName, lName, age, roll, section) {
	this._firstName = fName;
	this._lastName = lName;
	this._age = age;
	this._roll = roll;
	this._section = section;
}

let std1 = new Student("Saroar Hossain", "Shahan", 25, 99, "B");

console.log(std1);

/**
 * output:
 * _age: 25
 * _firstName: Saroar Hossain
 * _lastName: Shahan
 * _roll: 99
 * _section: 'B'
 * */

				
			

āĻāĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻˇā§Ÿ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° Person āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ¯ā§‡ āĻ•ā§ŸāĻŸāĻž āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻ†āĻ›ā§‡ āĻāĻ•āĻ‡ āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛ā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° Student āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ“ āĻ†āĻ›ā§‡āĨ¤ āĻ†āĻšā§āĻ›āĻž āĻāĻ–āĻ¨ āĻāĻŽāĻ¨ āĻ¯āĻĻāĻŋ āĻšāĻ¤ āĻ¯ā§‡, Person āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻŦ āĻ•ā§ŸāĻŸāĻž āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° Student āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ā§‡āĻ“ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°āĻŸāĻž āĻ…āĻ¨ā§‡āĻ• āĻŽāĻœāĻžāĻ° āĻšāĻ¤ āĻ¤āĻžāĻ‡ āĻ¨āĻž? āĻ†āĻšā§āĻ›āĻž āĻĻā§‡āĻ–āĻŋ āĻ•ā§‹āĻ¨ āĻŽāĻ¤ā§‡ Person āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ā§‡ āĻ§āĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ āĻ•āĻŋāĻ¨āĻžāĨ¤

				
					function Person(fName, lName, age) {
	this._firstName = fName;
	this._lastName = lName;
	this._age = age;
}

function Student(fName, lName, age, roll, section) {
	Person.call(this, fName, lName, age, roll, section);
	this._roll = roll;
	this._section = section;
}

let std1 = new Student("Saroar Hossain", "Shahan", 25, 99, "B");

console.log(std1);

/**
 * output:
 * _age: 25
 * _firstName: Saroar Hossain
 * _lastName: Shahan
 * _roll: 99
 * _section: 'B'
 * */

				
			

āĻ•āĻŋ āĻ…āĻ¨ā§‡āĻ• āĻŽāĻœāĻžāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ° āĻ¤āĻžāĻ‡ āĻ¨āĻž? āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻ•ā§‹āĻĄ āĻ•āĻŽā§‡ āĻ—ā§‡āĻ˛āĨ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĻā§‡āĻ–ā§‡āĻ¨ āĻ¸āĻŦ āĻ•āĻŋāĻ›ā§ āĻ†āĻ—ā§‡āĻ° āĻŽāĻ¤āĻ‡ āĻ†āĻ›ā§‡āĨ¤

Apply() āĻŽā§‡āĻĨāĻĄāĻƒ

Apply() āĻŽā§‡āĻĨāĻĄ āĻāĻŦāĻ‚ Call() āĻŽā§‡āĻĨāĻĄā§‡āĻ° āĻŽāĻžāĻā§‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•ā§‹āĻ¨ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ¨ā§‡āĻ‡āĨ¤ āĻĻā§āĻŸāĻžāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ•ā§‡ āĻ‡āĻŽāĻŋāĻĄāĻŋā§Ÿā§‡āĻŸāĻ˛āĻŋ āĻ‡āĻ¨āĻ­ā§‹āĻ• āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ Apply() āĻŽā§‡āĻĨāĻĄ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻž Array āĻ¨ā§‡ā§ŸāĨ¤

				
					let person = {
	name: "Saroar Hossain Shahan",
};

let getInfo = function (id) {
	return `Welcome ${this.name}, Your roll number is ${id}.`;
};

console.log(getInfo.call(person, [99])); // Welcome Saroar Hossain Shahan, Your roll number is 99.

				
			

āĻļā§āĻ§ā§ āĻŽāĻžāĻ¤ā§āĻ° āĻ•ā§‹āĻĄ āĻ›āĻžā§œāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡ āĻ•ā§‹āĻ¨ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ¨ā§‡āĻ‡āĨ¤ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€ā§Ÿ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻžāĻ“ āĻĻā§‡āĻ–āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻž āĻ¯āĻžā§ŸāĨ¤

				
					function Person(fName, lName, age) {
	this._firstName = fName;
	this._lastName = lName;
	this._age = age;
}

function Student(fName, lName, age, roll, section) {
	Person.apply(this, [fName, lName, age, roll, section]);
	this._roll = roll;
	this._section = section;
}

let std1 = new Student("Saroar Hossain", "Shahan", 25, 99, "B");

console.log(std1);

/**
 * output:
 * _age: 25
 * _firstName: Saroar Hossain
 * _lastName: Shahan
 * _roll: 99
 * _section: 'B'
 * */

				
			

āĻāĻ–āĻ¨ āĻ§āĻ°ā§‡āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° Student āĻ•ā§āĻ˛āĻ¸ā§‡ āĻ•ā§ŸāĻŸāĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻžāĻ¨āĻž āĻ¨ā§‡āĻ‡āĨ¤ āĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻŦā§‡āĻ¨? āĻ–ā§āĻŦ āĻ¸āĻšāĻœ āĻāĻ•āĻŸāĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ†āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡, āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ arguments āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻž āĻŦāĻŋāĻ˛ā§āĻĄ-āĻ‡āĻ¨ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ†āĻ›ā§‡āĨ¤ āĻāĻ‡āĻŸāĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻšāĻ˛ā§‡āĻ“ āĻ†āĻ¸āĻ˛ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ Array āĻāĻ° āĻŽāĻ¤ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ Apply āĻŽā§‡āĻĨāĻĄ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ Array āĻ¨āĻŋā§Ÿā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¤ā§‹ āĻ†āĻŽāĻ°āĻž arguments āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĻāĻŋā§Ÿā§‡āĻ‡ āĻāĻ‡ āĻ•āĻžāĻœāĻŸāĻŋ āĻ•āĻ°ā§‡ āĻĢā§‡āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ–ā§āĻŦ āĻ¸āĻšāĻœā§‡āĨ¤

				
					function Person(fName, lName, age) {
	this._firstName = fName;
	this._lastName = lName;
	this._age = age;
}

function Student(fName, lName, age, roll, section) {
	Person.apply(this, arguments);
	this._roll = roll;
	this._section = section;
}

let std1 = new Student("Saroar Hossain", "Shahan", 25, 99, "B");

console.log(std1);

/**
 * output:
 * _age: 25
 * _firstName: Saroar Hossain
 * _lastName: Shahan
 * _roll: 99
 * _section: 'B'
 * */

				
			

āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ†āĻ—ā§‡āĻ° āĻŽāĻ¤āĻ‡ āĻĻā§‡āĻ–āĻžāĻšā§āĻ›ā§‡ 😀

Bind() āĻŽā§‡āĻĨāĻĄāĻƒ

Bind() āĻŽā§‡āĻĨāĻĄ āĻšāĻšā§āĻ›ā§‡ Call() āĻāĻŦāĻ‚ Apply() āĻŽā§‡āĻĨāĻĄā§‡āĻ° āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤āĨ¤ āĻ•āĻžāĻ°āĻŖ Call () āĻāĻŦāĻ‚ Apply() āĻŽā§‡āĻĨāĻĄ āĻ‡āĻŽāĻŋāĻĄāĻŋā§Ÿā§‡āĻŸāĻ˛āĻŋ āĻ‡āĻ¨āĻ­ā§‹āĻ• āĻ•āĻ°ā§‡ āĻĢā§‡āĻ˛ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ Bind() āĻŽā§‡āĻĨāĻĄ āĻ¸ā§‡āĻŸāĻž āĻ¨āĻž āĻ•āĻ°ā§‡ āĻ¸ā§‡ āĻāĻ•āĻŸāĻž āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĄā§‡āĻĢāĻŋāĻ¨ā§‡āĻļāĻ¨ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ¸āĻŽā§Ÿ, āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻœāĻžā§ŸāĻ—āĻžā§Ÿ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‡āĻšā§āĻ›āĻž āĻŽāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨āĨ¤

				
					let person = {
	name: "Saroar Hossain Shahan",
};

let getInfo = function (id) {
	return `Welcome ${this.name}, Your roll number is ${id}.`;
};

let boundInfo = getInfo.bind(person);

console.log(boundInfo);

/**
 * output:
 * f (id) {
 * return `Welcome ${this.name}, Your roll number is ${id}.`;
 * }
 * */

				
			

āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡ āĻĻā§‡āĻ–ā§‡āĻ¨ boundInfo āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĄā§‡āĻĢāĻŋāĻ¨ā§‡āĻļāĻ¨ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻāĻ–āĻ¨ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ° āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĻ¸ āĻĻāĻŋā§Ÿā§‡ āĻ‡āĻ¨āĻ­ā§‹āĻ• āĻ•āĻ°āĻŋ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‹āĨ¤

				
					let person = {
	name: "Saroar Hossain Shahan",
};

let getInfo = function (id) {
	return `Welcome ${this.name}, Your roll number is ${id}.`;
};

let boundInfo = getInfo.bind(person);

console.log(boundInfo(99));

				
			

āĻāĻ‡ āĻ›āĻŋāĻ˛ āĻ†āĻœāĻ•ā§‡āĻ° Call(), Apply() āĻāĻŦāĻ‚ Bind() āĻŽā§‡āĻĨāĻĄ āĻ¨āĻŋā§Ÿā§‡ āĻ˛ā§‡āĻ–āĻžāĨ¤

  • āĻ¨āĻŋāĻšā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŸāĻž āĻĻā§‡āĻ–ā§āĻ¨āĨ¤
 
 
 
function sumOfNumbers() {
    var total = 0;
    for(var i = 0; i < arguments.length; i++) {
        total += arguments[i];
    }
    return total;
}
var sum = sumOfNumbers.call(null,1,2,3,4);
console.log(sum);
 
  • āĻ¨āĻŋāĻšā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŸāĻž āĻĻā§‡āĻ–ā§āĻ¨āĨ¤
 
 
 
function sumOfNumbers() {
    var total = 0;
    for(var i = 0; i < arguments.length; i++) {
        total += arguments[i];
    }
    return total;
}
var numbers = [1,2,3];
var sum = sumOfNumbers.apply(null, numbers);
console.log(sum);
  • Why should use “apply”?
  • How to use the “bind”?