Ich möchte eine Indexvariable als this
an eine Funktion übergeben, die ich mit function.call()
aufrufen.Javascript Function.prototype.call() übergeben primitiven Wert
var fun = function() {
console.log(this);
}
fun.call(1);
// -> Number {[[PrimitiveValue]]: 1}
So offensichtlich die primitive integer 1
nicht als primitiv an die aufgerufene Funktion übergeben.
Nach MDN für Function.prototype.call() "[...] primitive Werte werden in Objekte konvertiert."
Gibt es eine Möglichkeit, sie als primitive Ganzzahl an fun()
zu übergeben?
Das liest sich wie ein [XY-Problem] (http://xyproblem.info/). Was erhoffst du dir damit? – Quentin
Wenn JavaScript-Verhalten Primitiven in Objekte konvertieren, dann kann ich nicht sehen, wie Sie es vermeiden können, kurz vor dem Schreiben Ihrer eigenen Javascript-Engine ... aber diese Aussage impliziert dieses Verhalten ist im strikten Modus nur –
Warum kümmert es dich wenn 'das' ein Primitiv ist? Wenn Sie das wollen, warum nicht als Parameter übergeben? –