⊗jsOpBsPOS 15 of 60 menu

JavaScript-da ESKI USLUBDA OOP-da Privatlik

Privat xususiyatlar va metodlarni # belgisi orqali e'lon qilish JavaScript-ga yaqinda paydo bo‘ldi. Undan oldin maxsus aqlli usuldan foydalanishga majbur bo‘lar edik.

Ushbu usulning mazmuni shundaki, privat xususiyatlar va metodlar nomlari pastki chiziq belgisidan boshlanishi kerakligi haqida kelishib olinadi. Asilda bunday nomlar privat bo‘lmaydi, lekin biz ularni klass tashqarisidan ishlatmaslikka kelishamiz.

Keling, sinab ko‘raylik. Keling, ushbu uslubda privat xususiyat yarataylik:

class User { constructor(name) { this._name = name; } show() { return this._name; } }

Klasning ob'ektini yaratamiz:

let user = new User('john', 'smit');

Xususiyatimizning qiymatini chiqaradigan metodni chaqiramiz:

console.log(user.show());

Xususiyatga klass tashqarisidan murojaat qilishga urinish xatolikka olib kelmaydi:

console.log(user._name); // xatolik yo'q

Quyidagi kodda xususiyatlarni privat qiling:

class Employee { constructor(name, salary) { this._name = name; this._salary = salary; } getName() { return this._name; } getSalary() { return this._salary; } }

Quyidagi kodda yordamchi metodni privat qiling:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this._addSign(this.salary); } _addSign(num) { return num + ' ; } }
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish