Hm, ich habe es so verstanden, dass nun bind durch apply aufgerufen wird und zwar mit handler als Parameter für this und dann als 2. Parameter das Array [myObject, 'these', 'are',...]
Ich verstehe nicht warum man hier bind so aufruft ->
Bind weiss doch welche Funktion es binden soll, es holt ja bind auf dem handler durch handler.bind ?
edit:
Ah ok musste grad feststellen, dass es egal ist ob man
Diese 'umgekehrte' Logik begreif ich nicht. bind muss doch mit einem thisArg aufgerufen werden, gefolgt von n Argumenten. Wobei diese n Argumente ja nicht typisiert sind und man da irgendwas mitgeben kann?
Hier wird dann aber bind mit einer Funktion als erstes Argument aufgerufen?
Oder auch dieses Beispiel auf der MDN bind Seite:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
Array.prototype.slice wird hier aufgerufen mit arguments was ja ein Object ist. Aber slice erwartet doch ein optionales begin und end?
Ich verstehe nicht warum man hier bind so aufruft ->
bind(handler, [myObject, 'these'....])
Bind weiss doch welche Funktion es binden soll, es holt ja bind auf dem handler durch handler.bind ?
edit:
Ah ok musste grad feststellen, dass es egal ist ob man
handler.bind
schreibt oder Function.prototype.bind
Diese 'umgekehrte' Logik begreif ich nicht. bind muss doch mit einem thisArg aufgerufen werden, gefolgt von n Argumenten. Wobei diese n Argumente ja nicht typisiert sind und man da irgendwas mitgeben kann?
Hier wird dann aber bind mit einer Funktion als erstes Argument aufgerufen?

Oder auch dieses Beispiel auf der MDN bind Seite:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
Javascript:
function list() {
return Array.prototype.slice.call(arguments);
}
const list1 = list(1, 2, 3);
Array.prototype.slice wird hier aufgerufen mit arguments was ja ein Object ist. Aber slice erwartet doch ein optionales begin und end?
Zuletzt bearbeitet: