Метод `bind()` в JavaScript используется для создания новой функции, у которой указан контекст выполнения (this) и набор параметров заданы заранее.
Принцип работы метода `bind()` прост: он создает новую функцию, которая будет вызывать исходную функцию, но с жестко привязанным контекстом выполнения и, при необходимости, частью аргументов.
Когда вы вызываете `bind()` для оригинальной функции в объекте и присваиваете эту новую функцию обратно в объект, то исходная функция все еще вызывается, потому что вы создали копию этой функции с новым контекстом, но не перезаписали оригинальную функцию в объекте. Таким образом, при вызове метода через объект, вызывается оригинальная функция, а не новая, созданная с помощью `bind()`.
Для того чтобы перезаписать оригинальную функцию в объекте новой функцией с привязанным контекстом, можно просто переприсвоить свойство объекта на результат вызова `bind()`.
Пример:
```javascript
const obj = {
name: 'Alice',
sayHello: function() {
console.log('Hello, ' + this.name);
}
};
const newFunc = obj.sayHello.bind({ name: 'Bob' });
obj.sayHello = newFunc; // перезаписываем оригинальную функцию
obj.sayHello(); // выведет: "Hello, Bob"
```