Ich glaube, Sie zwischen dem WertObject
und Objekten im Allgemeinen verwechselt werden können bekommen. Vielleicht denken Sie anhand dessen, was Sie oben sehen, dass dies bedeutet, dass "alle Objekte Funktionen sind", aber das ist nicht wahr.
Alle Funktionen sind Objekte. Die WerteObject
und Function
sind beide (Konstruktor) Funktionen, so dass sie beide Objekte sind. Mit anderen Worten, sie sind beide Instanzen von Object
und Function
.
Vielleicht werden Sie diese finden etwas mehr Beleuchtung:
console.log(Object instanceof Function); // true
console.log(Function instanceof Function); // true
console.log(Object instanceof Object); // true
console.log(Function instanceof Object); // true
console.log(new Object() instanceof Function); // false
console.log({} instanceof Function); // false
console.log(new Function() instanceof Function); // true
console.log(function(){ } instanceof Function); // true
console.log(new Object() instanceof Object); // true
console.log({} instanceof Object); // true
console.log(new Function() instanceof Object); // true
console.log(function(){ } instanceof Object); // true
wie ein Duplikat aussieht: http://stackoverflow.com/questions/29813074/javascript-object- Erben-von-Funktion-Prototyp – towerofnix
"* sie beide sind instanceof von einander *" - nicht interessant. 'Funktion' ist eine Instanz von sich selbst, nimm das jetzt! (Und normalerweise ist jede Funktion auch ein Objekt) – Bergi
@Bergi Danke für die Antwort –