⊗jsOpAdNC 44 of 60 menu

Konflikty názvů metod a vlastností v OOP v JavaScriptu

Názvy vlastností a metod by neměly shodovat, to způsobí konflikt. Podívejme se na příklad. Předpokládejme, že máme následující třídu:

class User { name() { console.log('metoda'); } }

Vytvořme objekt této třídy:

let user = new User;

Zavolejme jeho metodu, zatím vše bude fungovat:

user.name(); // funguje

A nyní zapišme data do stejnojmenné vlastnosti, čímž přepíšeme kód metody:

user.name = 'str'; user.name(); // chyba

Pro vyhnutí se podobným konfliktům vždy dávejte metodům jména-slovesa, a vlastnostem - jména-podstatná jména.

Opravte chybu, které byla v následujícím kódu:

class Employee { constructor(salary) { this.salary = salary; } salary() { return this.salary + ' ; } }
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout