๐Ÿšฉ bind( )๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

๋ฐ›๊ฒŒ๋˜๋Š” ์ฒซ๋ฒˆ์งธ ์ธ์ž๋Š” call๊ณผ ๋™์ผํ•˜๊ฒŒ this๋ฅผ ๋ฐ›๋Š” ๊ฐ์ฒด๊ฐ€ ์˜ค๊ณ , ์ด์–ด์ง€๋Š” ์ธ์ž๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

โœ

const kim = {
  name: "kim",
  first: 10,
  second: 20,
};
const lee = {
  name: "lee",
  first: 10,
  second: 10,
};
function add(pre) {
  return pre + (this.first + this.second);
}

const kimBind = add.bind(kim, "-> ");
console.log(kimBind()); //-> 30

const leeBind = add.bind(lee, "-> ");
console.log(leeBind()); //-> 20