JavaScript prototipēšana
JavaScript mantošanas tiesības prototipējot
Reālajā pasaulē kaut ko mantot nozīmē iegūt īpašumu, kas nosaka mūsu ieguvumus no iepriekšējām paaudzēm. Šajā rakstā jūs uzzināsiet, ka mantojums pastāv arī JavaScript un mantojuma modelis griežas ap kaut ko, ko sauc par prototipu. Jums var būt zināms arī prototipa jēdziens, ko bieži dēvē par oriģinālu modeli, no kura tiek izstrādātas citas formas. Programmā JavaScript prototips ir objekts, kurā var būt rekvizīti, ko var koplietot vairāki citi objekti. Un tas ir pamatā tam, kā mantošana darbojas JavaScript. Tāpēc dažreiz tiek teikts, ka JavaScript ievieš mantojuma modeļa prototipu.
Izpētīsim to tagad, izmantojot dažus koda piemērus, lai parādītu pārmantošanu un prototipa izveidi.
Piemērs:
var putns = {
irSpārni: true,
varlidot: true,
irSpalvas: true,
}
- spārnus,
- spēju lidot,
- un spalvas.
var putns = {
irSpārni: true,
varlidot: true,
irSpalvas: true,
};
var ērglis1 = Object.create(putns);
var putns = {
irSpārni: true,
varLidot: true,
irSpalvas: true,
};
var ērglis1 = Object.create(putns);
console.log("ērglis1: ", ērglis1);
var putns = {
irSpārni: true,
varlidot: true,
irSpalvas: true,
};
var ērglis1 = Object.create(putns);
console.log("ērglis1: ", ērglis1);
console.log("ērglis1 ir spārni:", ērglis1.irSpārni);
console.log("ērglis1 var lidot:", ērglis1.varlidot);
console.log("ērglis1 ir spalvas:", ērglis1.irSpalvas);
ērglis1: {}
ērglis1 ir spārni: true
ērglis1 var lidot: true
ērglis1 ir spalvas: true
Lasīsim vēlreiz no koda, pamanīsim, ka ērglim1 ir patiesi (true) spārni, ērglis1 var lidot patiesi (true) un ērglim1 ir patiesas (true) spalvas.
var putns = {
irSpārni: true,
varlidot: true,
irSpalvas: true,
};
var ērglis1 = Object.create(putns);
console.log("ērglis1: ", ērglis1);
console.log("ērglis1 ir spārni:", ērglis1.irSpārni);
console.log("ērglis1 var lidot:", ērglis1.varlidot);
console.log("ērglis1 ir spalvas:", ērglis1.irSpalvas);
var ērglis2 = Object.create(bird);
var putns = {
irSpārni: true,
varlidot: true,
irSpalvas: true,
};
var ērglis1 = Object.create(putns);
console.log("ērglis1: ", ērglis1);
console.log("ērglis1 ir spārni:", ērglis1.irSpārni);
console.log("ērglis1 var lidot:", ērglis1.varlidot);
console.log("ērglis1 ir spalvas:", ērglis1.irSpalvas);
var ērglis2 = Object.create(putns);
console.log("ērglis2 ir spārni:", ērglis2.irSpārni);
tad konsolē izvadītais rezultāts būs šāds:
ērglis1: {}
ērglis1 ir spārni: true
ērglis1 var lidot: true
ērglis1 ir spalvas: true
ērglis2 ir spārni: true
var putns = {
irSpārni: true,
varlidot: true,
irSpalvas: true,
};
var ērglis1 = Object.create(putns);
console.log("ērglis1: ", ērglis1);
console.log("ērglis1 ir spārni:", ērglis1.irSpārni);
console.log("ērglis1 var lidot:", ērglis1.varlidot);
console.log("ērglis1 ir spalvas:", ērglis1.irSpalvas);
var ērglis2 = Object.create(putns);
console.log("ērglis2 ir spārni:", ērglis2.irSpārni);
var pingvīns1 = Object.create(putns);
pingvīns1.varlidot = false;
console.log("pingvīns1: ", pingvīns1);
ērglis1: {}
ērglis1 ir spārni: true
ērglis1 var lidot: true
ērglis1 ir spalvas: true
ērglis2 ir spārni: true
pingvīns1: { varlidot: false }
Atbildēt
Lai komentētu, jums jāpiesakās sistēmā.