⊗jsOpAdNC 44 of 60 menu

ობიექტზე-ორიენტირებულ პროგრამირებაში მეთოდების და თვისებების სახელების კონფლიქტები JavaScript-ში

თვისებების და მეთოდების სახელები არ უნდა ემთხვეოდეს ერთმანეთს, ეს გამოიწვევს კონფლიქტს. მოდით შევხედოთ მაგალითს. დავუშვათ, გვაქვს შემდეგი კლასი:

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

შევქმნათ ამ კლასის ობიექტი:

let user = new User;

გამოვიძახოთ მისი მეთოდი, ჯერ ყველაფერი იმუშავებს:

user.name(); // მუშაობს

ახლა კი ჩავწეროთ მონაცემები ამავე სახელის თვისებაში, რითაც მეთოდის კოდი გადავაფარებთ:

user.name = 'str'; user.name(); // შეცდომა

მსგავსი კონფლიქტების თავიდან ასაცილებლად ყოველთვის არქმევდეთ მეთოდებს სახელებს-ზმნებს, ხოლო თვისებებს - სახელებს-არსებითი სახელები.

გამასწორეთ შეცდომა, რომელიც დაუშვა შემდეგ კოდში:

class Employee { constructor(salary) { this.salary = salary; } salary() { return this.salary + ' ; } }
ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა