Skip to content

Instantly share code, notes, and snippets.

let obj = {};
console.log(obj.toString()) // [object Object] ???
function Rabbit(name) {
this.name = name;
}
Rabbit.prototype.sayHi = function() {
console.log( this.name );
}
var rabbit = new Rabbit('Rabbit');
rabbit.sayHi(); // (1) ?
function Rabbit(name) {}
Rabbit.prototype = {
eats: true
};
var rabbit = new Rabbit();
delete Rabbit.prototype.eats; // (*)
console.log( rabbit.eats ); // (5) ?
function Rabbit(name) {}
Rabbit.prototype = {
eats: true
};
var rabbit = new Rabbit();
delete rabbit.eats; // (*)
console.log( rabbit.eats ); // (4) ?
function Rabbit(name) {}
Rabbit.prototype = {
eats: true
};
var rabbit = new Rabbit();
Rabbit.prototype.eats = false; // (*)
console.log( rabbit.eats ); // (3) ?
function Rabbit() {}
Rabbit.prototype = {
eats: true
};
var rabbit = new Rabbit();
Rabbit.prototype = {}; // (*)
console.log( rabbit.eats ); // (2) ?
function Rabbit(name) {}
Rabbit.prototype = {
eats: true
};
var rabbit = new Rabbit();
Rabbit.prototype.eats = false;
console.log( rabbit.eats );
function Rabbit() {}
Rabbit.prototype = {
eats: true
};
var rabbit = new Rabbit();
console.log(rabbit.eats ); // (1) ?
var animal = {
eats: true
};
function Rabbit(name) {
this.name = name;
//this.__proto__ = animal; won't work in IE10+
}
Rabbit.prototype = animal; //only object, primitives won't work
var animal = {
eat: function() {
this.full = true;
}
};
var rabbit = {
__proto__: animal
};