Лекция 07
const animal = {
eats: true
};
const rabbit = {
jumps: true
};
rabbit.__proto__ = animal;
console.log( rabbit.jumps ); // true
console.log( rabbit.eats ); // true
const animal = {
eats: true
};
const rabbit = {
jumps: true,
eats: false
};
rabbit.__proto__ = animal;
console.log( rabbit.eats ); // false
const animal = {
eats: true
};
const rabbit = {
jumps: true,
__proto__: animal
};
for (var key in rabbit) {
console.log(`${key} = ${rabbit[key]}`);
}
// eats = true
// jumps = true
const animal = {
eats: true
};
const rabbit = {
jumps: true,
__proto__: animal
};
for (var key in rabbit) {
if (!rabbit.hasOwnProperty(key)) continue;
console.log(`${key} = ${rabbit[key]}`);
}
// jumps = true
function Class(){/*поля*/}
Class.prototype = {/*Методы*/}
function Men(name) {
this.name = name;
}
Men.prototype = {
sayHi: function () {
console.log(`Hi! I'm ${this.name}.`);
},
sleep: function () {
console.log('Z-z-z');
}
};
const rick = new Men('Rick');
rick.sayHi();
function Xmen(name, power) {
this.name = name;
this.power = power;
}
Xmen.prototype = Object.create(Men.prototype);
Xmen.prototype.sayHi = function () {
console.log(`
Hi! I'm ${this.name}.
My superpower is ${this.power}
`);
}
const logan = new Xmen('Logan', 'Regeneration');
logan.sayHi();
logan.sleep();
function Xmen(name, power) {...}
Xmen.prototype = Object.create(Men.prototype);
const logan = new Xmen('Logan', 'Regeneration');
logan.skeleton = 'adamantium';
logan.attac = function () {
console.log(`${this.name} attac!`);
}
logan.sleep();
function Xmen(name, power) {...}
Xmen.prototype = Object.create(Men.prototype);
const logan = new Xmen('Logan', 'Regeneration');
Men.prototype.sleep = function () {
console.log(`${this.name}: Z-z-z`);
}
logan.sleep();
function Xmen(name, power) {
Men.apply(this, arguments);
this.power = power;
}
...
class Men {
constructor(name) {
this.name = name;
}
sayHi() {
console.log(`Hi! I'm ${this.name}.`);
}
sleep() {
console.log('Z-z-z');
}
}
class Xmen extends Men {
constructor(name, power) {
super(name);
this.power = power;
}
sayHi() {
console.log(`
Hi! I'm ${this.name}.
My superpower is ${this.power}
`);
}
}
const logan = new Xmen('Logan', 'Regeneration');
logan.sayHi();
logan instanceof Xmen // true
logan instanceof Men // true
logan instanceof Object // true
logan instanceof Apple // false