Johdanto JavaScript-staattiseen menetelmään

Java-staattisia menetelmiä käytetään yleensä apuohjelmatoimintojen luomiseen. Ne otetaan käyttöön ES6: ssä luokkakohtaista menetelmää olio-ohjelmointiin JavaScriptillä.

Staattisen menetelmän ilmoittamiseksi voimme yksinkertaisesti käyttää staattista avainsanaa menetelmän allekirjoituksella. Staattista menetelmää ei kutsuta luokan esiintymään, vaan ne tehdään kutsumaan suoraan luokkaan.

Joten voimme sanoa, että JavaScript tarjoaa meille staattisen menetelmän, joka kuuluu luokkaan, mutta ei luokan esiintymään. Joten javan tavoin, emme vaadi luokan esiintymää kutsumaan staattista menetelmää myös JavaScriptiin. Siksi staattinen menetelmä JavaScript kuuluu itse luokkaan.

Syntaksi:

static methodName()()

Myös JavaScriptissä käytämme staattista avainsanaa minkä tahansa menetelmän määrittämiseksi staattiseksi menetelmäksi. Meidän on vain käytettävä staattista avainsanaa menetelmän nimen kanssa. Menetelmien nimet voivat olla mitä tahansa. Tähän staattiseen avainsanaan liittyy monia kohtia, tarkistetaan nämä yksitellen:

  • Luokka voi sisältää minkä tahansa määrän staattisia menetelmiä. Toisin sanoen luokassa voi olla useampi kuin yksi staattinen menetelmä.
  • Staattinen menetelmä voi olla mikä tahansa nimi, kuten mikä tahansa muu menetelmä tai funktio.
  • Voit kutsua staattista menetelmää toisesta staattisesta menetelmästä käyttämällä tätä avainsanaa.
  • Staattista menetelmää voidaan käyttää apuohjelmatoimintojen luomiseen.
  • Jos haluamme kutsua staattista menetelmää ei-staattisesta menetelmästä, emme voi käyttää tätä avainsanaa. Staattinen menetelmä on kutsuttava luokan nimellä tai rakentajan omaisuudeksi.
  • Voimme ilmoittaa useamman kuin yhden staattisen menetelmän samalla nimellä, mutta jos niin teemme, JavaScript kutsuu aina viimeistä.

Yksinkertainen esimerkki staattisen menetelmän syntaksin osoittamiseksi.

Koodi:


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

Yllä olevassa esimerkissä kutsumme staattista menetelmää luokan nimellä, joka ei luo luokan esiintymää. Käyttämällä luokan nimeä vain ilmentymänä.

Kuinka staattiset menetelmät toimivat JavaScript-ohjelmassa?

  • Staattinen menetelmä on menetelmä, joka vaatii luokan objektin luomisen ennen todellista soittamista. Heihin soittamiseksi meidän on luotava sen luokan objekti, jossa se on määritelty. Staattinen menetelmä saa puhelun kahdella tavalla käyttämällä yhtä avainsanaa toisella rakentajalta.
  • Staattiset menetelmät eivät voi suoraan kutsua epästaattista menetelmää. On-staattiset menetelmät käyttävät ilmentymän muuttujan tilaa vaikuttamaan käyttäytymiseen. Staattinen menetelmä ei myöskään näe esiintymämuuttujan tilaa, joten jos yritämme kutsua epästaattista menetelmää staattisen menetelmän kääntäjältä, se valittaa.
  • Staattinen menetelmä ei myöskään voi käyttää epästaattista esiintymämuuttujaa. Staattinen menetelmä ei voi viitata luokan yhtäkään instanssimuuttujaan. Staattinen menetelmä ei tiedä, minkä ilmentymän muuttujan arvoa käytetään.
  • Kun taas ei-staattisissa menetelmissä niillä on mikä tahansa staattinen avainsana menetelmän nimen kanssa ja jos haluamme työskennellä ei-staattisten menetelmien kanssa, meidän on luotava kyseisen luokan objekti, koska se kuuluu vain luokkaan, jossa se julistetaan. Epästaattisilla menetelmillä voidaan helposti käyttää mitä tahansa staattista ja staattista muuttujaa ilman luokan esiintymää.

Jotta voimme kutsua staattista menetelmää toisesta staattisesta menetelmästä, voimme käyttää 'tätä' avainsanaa.

Koodi:

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

Mutta entä jos haluamme kutsua staattista menetelmää ei-staattisesta menetelmästä. Tätä varten voimme mennä jommankumman näistä lähestymistavoista

1) luokanimi.staattinen_metodinimi (); : Käyttämällä luokan nimeä
2) this.constructor.static_method_name (); : Tai käyttämällä rakennusomaisuutta.

Koodi:

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.';
)
)

JavaScriptillä on myös luokkien käyttöönotto ES6: ssa, joten nyt voimme hyödyntää staattista menetelmää, rakentajia, superpuheluita vanhemmille ja perintöä, mikä helpottaa yhteensopivuutta kehittäjälle. Joten meillä voi olla alaluokka vanhemman luokan kanssa ja mikä tahansa menetelmä, jonka julistamme vanhemmassa luokassa ja joka on käytettävissä myös alaluokassa. Getter- ja setter-lisälaitteet esitellään myös ES5: ssä, ja sitä voidaan käyttää staattisen avainsanan kanssa. Alla on esimerkki siitä, kuinka käyttää tätä staattisen avainsanan kanssa.

Koodi:

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

Esimerkkejä JavaScriptin staattisesta menetelmästä

Tässä on esimerkkejä alla olevista JavaScriptin staattisista menetelmistä:

Esimerkki # 1

Staattisen menetelmän näyttäminen samalla nimellä.

Koodi:



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

lähtö:

Esimerkki 2

Esimerkki useamman kuin yhden staattisen menetelmän kutsumiseksi.

Koodi:



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());

lähtö:

Esimerkki 3

Viestin näyttäminen.

Koodi:



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

lähtö:

Esimerkki 4

Staattisen menetelmän kutsuminen ei-staattiselta menetelmältä.

Koodi:



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

lähtö:

Esimerkki 5

Staattisen menetelmän kutsuminen rakentajalta.

Koodi:



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

Tulos:

johtopäätös

Joten lähtökohtaisesti staattinen menetelmä ei vaadi ilmentymää pääsemään niihin, voimme käyttää niitä suoraan luokan nimellä, johon he kuuluvat. Esimerkiksi ClassName.Static-method-name-to-be = kutsutaan ();

Suositellut artikkelit

Tämä on opas JavaScript-staattiseen menetelmään. Tässä keskustellaan syntaksista, työskentelystä ja esimerkkejä javascriptin staattisesta menetelmästä. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. JavaScript-tapahtumat
  2. Virheet JavaScriptissä
  3. JavaScript vs. Ruby
  4. Rekursiivinen toiminto JavaScript: ssä