Ich habe mich gefragt - was ist der Unterschied zwischen JavaScript-Objekten, Klassen und Funktionen? Habe ich Recht, wenn ich denke, dass Klassen und Funktionen Arten von Objekten sind?
Und was unterscheidet eine Klasse von einer Funktion? Oder sind sie wirklich dasselbe, nur der Begriff für sie ändert sich je nachdem, wie sie verwendet werden?
function func() { alert('foo'); } // a function
func(); // call the function - alerts 'foo'
var func2 = function () { alert('hello'); } // acts the same way as 'func' surely?
func2(); // alerts 'hello'
var Class = function() { alert('bar'); }; // a class
var c = new Class(); // an istance of a class - alerts 'bar'
Sicher, Klassen haben Methoden und Eigenschaften und können instanziiert werden - aber dann könnte ich dasselbe mit jeder alten Funktion tun - oder nicht?