⊗jsOpBsPM 14 of 60 menu

Yksityiset menetelmät OOP:ssa JavaScriptissä

Eivät vain ominaisuudet, vaan myös menetelmät voivat olla yksityisiä. Yleensä yksityisiksi tehdään apumenetelmiä, jotta niitä ei vahingossa kutsuttaisi luokan ulkopuolelta.

Katsotaanpa esimerkkiä. Olkoon meillä seuraava luokka:

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

Tehdään tähän luokkaan yksityinen menetelmä, joka parametrina vastaanottaa merkkijonon ja tekee sen ensimmäisestä merkistä ison kirjaimen:

class User { #name; constructor(name) { this.#name = name; } show() { return this.#name; } #cape(str) { return str[0].toUpperCase() + str.slice(1); } }

Hyödynnetään apumenetelmäämme toisen menetelmän sisällä:

class User { #name; constructor(name) { this.#name = name; } show() { return this.#cape(this.#name); } #cape(str) { return str[0].toUpperCase() + str.slice(1); } }

Testataan. Luodaan luokastamme olio:

let user = new User('john');

Kutsutaan julkista menetelmää, joka käyttää apumenetelmää:

console.log(user.show());

Seuraavassa koodissa tee apumenetelmästä yksityinen:

class Employee { constructor(name, salary) { this.name = name; this.salary = salary; } getSalary() { return this.addSign(this.salary); } addSign(num) { return num + '€'; } }
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää