Мне было интересно - какая разница между объектами, классами и функциями JavaScript? Правильно ли я считаю, что классы и функции являются типами объектов?
А что отличает класс от функции? Или они действительно одно и то же, просто термин для них изменяется в зависимости от того, как они используются?
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'
Конечно, классы имеют методы и свойства и могут быть инстанцированы - но тогда я мог бы сделать то же самое с любой старой функцией - или нет?