[JavaScript] - Mi a különbség a prototipus/property és az osztály/class között?
Figyelt kérdés
Alkérdés: - A prototipus és a property (tulajdonság) ugyan az, vagy itt is keverek valamit?2018. dec. 10. 19:08
1/5 A kérdező kommentje:
Ez a property:
let animal2 =
{
name: "",
age: 0,
height: 0
};
Ez a property konstruktorral:
function Person(first, last, age, eye)
{
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eye;
// Adding a function inside ctor.
this.fullName = function ()
{
return this.firstName + " " + this.lastName;
}
}
És ez pedig egy osztály:
class AnimalClass
{
name = "";
constructor(nameOfTheAnimal)
{
this.name = nameOfTheAnimal;
}
}
De mi a prototipus? Eddég jól értelmezem?
2018. dec. 10. 19:16
2/5 anonim válasza:
A property egy objektum adattagja, pl az animal2-es példa esetében a 'name' az animal2 egyik propertyje. Ez nem ugyanaz mint a prototípus. A prototípus/prototype egy objektum őseként értelmezhető, pl az animal2 prototípusa az Object lesz, annak minden adattagjával, metódusával, miegyébbel. De megcisnálhatod azt, hogy csinálsz egy új objektumtípust, aminek beálíltod prototípusának az animal2-t. Ezesetben annak a prototípusa az animal2 lesz, melynek a prototípusa az Object lesz. Ez a prototípus lánc. A lényege, hogy egy objektumon hívott adattagok, és függvények mennek felfelé a prototípus láncon egész addig, amíg valahol nem találja azt meg.
3/5 A kérdező kommentje:
Rendben, köszönöm a részletes választ! Így már értem!
2018. dec. 10. 20:21
4/5 anonim válasza:
Mondjuk a kérdésnek az a része még mindig nyitott, hogy mi a különbség a prototípus és az ősosztály között. A válaszból nekem az jön le, hogy semmi, ami megtévesztő lehet.
5/5 anonim válasza:
#4 Az osztályok, mint olyan néhány éve kerültek be a JS-be, és alacsony szinten ugyanúgy a prototípusos szerkezetre vezetődnek vissza, csupán azért lettek bevezetve a nyelvbe, hogy az ismert OOP konvenciók szerint lehessen JS-ben fejleszteni, mert a prototype hasnálata és működése egy OOP-n nevelkedett embernek idegen tud lenni. Lényegében ennyi, ugyanarra vannak, csak az egyik az 'eredeti' szerkezet, a másik pedig az OOP-s sugarcoating rajta.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!