oop - how prototype properties are delegated to sub class from super class in javascript -
please me understand following code snippet.
var ob = {a:20,b:30}; object.prototype.c = '40'; (var x in ob){ console.log(x); // log a,b,c in console } var keys = object.keys(ob) ; console.log(keys); // log a,b in console my question , how putting property 'c' on prototype of 'object' make available 'ob' ?
edit: want know default constructor function called when try create object , basic responsibilities performed constructor ?
an object literal ({}) inherit object.prototype. object.prototype.c = '40'; sets c property on object's prototype, objects inheriting object able access property. properties defined on object's prototype accessible on objects inheriting it.
the difference between for (var x in ob) , object.keys(ob) object.keys(ob) return properties of ob object, whereas for (var x in ob) traverse prototype chain , find c property on object's prototype.
by default, no properties defined on object's prototype included in for-in loop not enumerable. added property enumerable default.
Comments
Post a Comment