Ниже приведен фрагмент кода. Может ли кто-нибудь объяснить, почему a.hasOwnProperty("prototype")
является верным, а другие ложными? Означает ли это, что функция имеет свой собственный прототип, остальные наследуются от Object? Если да, то почему c.hasOwnProperty("prototype")
имеет значение false? Кроме того, откуда берется свойство их constructor
? Спасибо
var a = function () {
};
var b = new String("test");
var c = {};
console.log(a.hasOwnProperty("prototype"));//true
console.log(b.hasOwnProperty("prototype"));//false
console.log(c.hasOwnProperty("prototype"));//false
console.log(a.hasOwnProperty("constructor"));//false
console.log(b.hasOwnProperty("constructor"));//false
console.log(c.hasOwnProperty("constructor"));//false
console.log(a.constructor);//Function()
console.log(b.constructor);//String()
console.log(c.constructor);//Object()