JavaScripti staatilise meetodi sissejuhatus

Utiliidifunktsioonide loomiseks kasutatakse tavaliselt JavaScripti staatilisi meetodeid. Need on ES6-s sisse viidud klassi-spetsiifilise meetodi jaoks objektorienteeritud programmeerimisel JavaScriptis.

Staatilise meetodi deklareerimiseks võime lihtsalt kasutada meetodi allkirjaga staatilist märksõna. Staatilist meetodit ei kutsuta selle klassi eksemplarile, mille järgi nad kutsutakse otse klassi.

Nii võime öelda, et JavaScript pakub meile staatilist meetodit, mis kuulub klassi, kuid mitte klassi esinemisjuhu. Nii nagu Java, ei nõua me ka klassi eksemplari, et kutsuda staatilist meetodit ka JavaScripti. Seega kuulub JavaScripti staatiline meetod klassi ise.

Süntaks:

static methodName()()

Ka JavaScriptis kasutame staatilist märksõna mis tahes meetodi määratlemiseks staatilise meetodina. Peame koos meetodi nimega kasutama ka staatilist märksõna. Meetodi nimed võivad olla ükskõik millised. Selle staatilise märksõnaga on seotud palju punkte, kontrollime neid ükshaaval:

  • Klass võib sisaldada suvalist arvu staatilisi meetodeid. Teisisõnu, klassil võib olla rohkem kui üks staatiline meetod.
  • Staatiline meetod võib olla suvalise nimega, nagu mis tahes muu meetod või funktsioon.
  • Statistilise meetodi helistamiseks teisest staatilisest meetodist saame seda märksõna kasutada.
  • Staatilisi meetodeid saab kasutada utiliidifunktsioonide loomiseks.
  • Kui me tahame sellistel juhtudel nimetada staatilist meetodit mittestaatilisest meetodist, ei saa me seda märksõna kasutada. Peame kutsuma staatilist meetodit klassi nime järgi või konstruktori omandiks.
  • Saame deklareerida mitu sama nimega staatilist meetodit, kuid kui seda teeme, kutsub JavaScript alati viimast.

Lihtne näide staatilise meetodi süntaksi demonstreerimiseks.

Kood:


class Syntax
(
static displayMessage()
(
return "static method called"
)
)
document.writeln(Syntax.displayMessage());

Ülaltoodud näites kutsume staatilist meetodit klassi nimega, mis ei loo klassi esinemisjuhtu. Klassinime kasutamine ainult eksemplarina.

Kuidas staatilised meetodid JavaScriptis toimivad?

  • Staatiline meetod on meetod, mis eeldab, et klassi objekt luuakse enne, kui nad tegelikult helistasid. Neile helistamiseks peame looma klassi objekti, milles see on määratletud. Staatiline meetod saab kõne kahel viisil, kasutades ehitajalt seda märksõna, kasutades teist märksõna.
  • Staatilised meetodid ei saa otseselt nimetada mittestaatilisi meetodeid. Staatilised meetodid kasutavad nende käitumise mõjutamiseks astme muutuja olekut. Staatiline meetod ei näe ka eksemplari muutuja olekut, nii et kui proovime staatilise meetodi kompilaatorist helistada mittestaatilisele meetodile, kaebab kaebus.
  • Samuti ei saa staatiline meetod kasutada mittestaatilist esinemismuutujat. Staatiline meetod ei saa viidata ühelegi klassi esinemismuutujale. Staatiline meetod ei tea, millise astme muutuja väärtust kasutada.
  • Kui mittestaatiliste meetodite korral on neil meetodi nime kõrval ka mõni staatiline märksõna ja kui tahame töötada mittestaatiliste meetoditega, peame looma selle klassi objekti, kuna see kuulub ainult sellesse klassi, kus see kuulutatakse. Mittestaatilistel meetoditel on hõlbus juurde pääseda igale staatilisele ja igale staatilisele muutujale ilma klassi esinemiseta.

Staatilisest meetodist teisest staatilisest meetodist helistamiseks võime kasutada seda märksõna.

Kood:

class StaticMethodCallDemo (
static staticMethodOne() (
return 'Static method one is called from ';
)
static sttaicMethodTwo() (
return this.staticMethod() + ' static method two';
)
)
StaticMethodCallDemo.staticMethodOne();
StaticMethodCallDemo.sttaicMethodTwo();

Aga mis siis, kui me tahame nimetada staatiliseks meetodiks mittestaatilisest meetodist. Selleks võime kasutada mõlemat lähenemisviisi

1) klassinimi.staatiline_metoodika_nimi (); : Klassi nime kasutades
2) this.constructor.static_method_name (); : Või kasutades konstruktori vara.

Kood:

class StaticMethodCallDemo2 (
constructor() (
console.log(StaticMethodCallDemo2.staticMethodOne());
// 'static method called using class name.'
console.log(this.constructor.staticMethodOne());
// 'static methed called using constructor property.'
)
static staticMethodOne() (
return 'static method has been called.';
)
)

JavaScriptis on ES6-s kasutusele võetud ka klassid, nii et nüüd saame kasutada staatilist meetodit, konstruktoreid, superkõnesid vanematele ja pärimist, mis teeb koostalitlusvõime arendaja jaoks palju lihtsamaks. Nii et meil võib olla alaklass vanemklassiks ja iga meetod, mille kuulutame vanemklassiks, mis on saadaval ka alaklassis. EST-s on tutvustatud ka getteri ja setteri ligipääsejaid ning seda saab kasutada koos staatilise märksõnaga. Allpool on näide selle kohta, kuidas seda staatilise märksõnaga kasutada.

Kood:

class Demo(
constructor(name)(
this.name = name
)
static get Leader()(
return new Demo(abc)
)
)

JavaScripti staatilise meetodi näited

Siin on mõned näited allpool toodud javascripti staatilise meetodi kohta:

Näide nr 1

Sama nimega staatilise meetodi kuvamiseks.

Kood:



class SameNameDemo
(
static displayMsg()
(
return "static method with same name one"
)
static displayMsg()
(
return "static method with same name two"
)
)
document.writeln(SameNameDemo.displayMsg());

Väljund:

Näide 2

Näide mitme staatilise meetodi helistamiseks.

Kood:



class NoSameName
(
static displayMsg1()
(
return "static method one is called"
)
static displayMsg2()
(
return "static method two is called"
)
)
document.writeln(NoSameName.displayMsg1()+"
");
document.writeln(NoSameName.displayMsg2());

Väljund:

Näide 3

Sõnumi kuvamiseks.

Kood:



class Demo
(
static displayMsg()
(
return "static method is called"
)
)
document.writeln(Demo.displayMsg());

Väljund:

Näide 4

Staatilise meetodi kutsumine mittestaatilisest meetodist.

Kood:



class Demo (
static displayMsg() (
return "calling static method from non static method"
)
showMsg() (
document.writeln(Demo.displayMsg()+"
");
)
)
var demo =new Demo();
demo.showMsg();

Väljund:

Näide 5

Staatilise meetodi kutsumine konstruktorilt.

Kood:



class Demo (
constructor() (
document.writeln (Demo.displayMag()+"
");
document.writeln (this.constructor.displayMag());
)
static displayMag() (
return "calling static method from constructor."
)
)
var demo = new Demo();

Väljund:

Järeldus

Nii et põhimõtteliselt ei vaja staatiline meetod eksemplari neile juurde pääsemiseks, pääseme neile otse juurde klassi nime järgi, kuhu nad kuuluvad. Näiteks ClassName.Static-method-name-to-be = kutsutud ();

Soovitatavad artiklid

See on JavaScripti staatilise meetodi juhend. Siin käsitleme süntaksit, toimimist ja javascripti staatilise meetodi näiteid. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. JavaScripti sündmused
  2. Vead JavaScriptis
  3. JavaScript vs Ruby
  4. Rekursiivne funktsioon JavaScriptis

Kategooria: