Bevezetés a JavaScript statikus módszerébe

A Java statikus módszereket általában használják a segédfunkciók létrehozásához. Bemutatják őket az ES6-ban az objektum-orientált programozás JavaScript-specifikus módszerére vonatkozóan.

Statikus módszer deklarálásához egyszerűen statikus kulcsszót használunk a metódus aláírásával. A statikus módszert nem hívják meg az osztály azon példányánál, amelyet közvetlenül az osztály meghívására késztettek.

Tehát azt mondhatjuk, hogy a JavaScript olyan statikus módszert kínál számunkra, amely az osztályhoz tartozik, de nem az osztály példányához tartozik. Tehát, mint a java, nem is szükséges az osztály példánya, hogy a statikus módszert JavaScript-ben is meghívjuk. Ezért a statikus módszer a JavaScript-ben magához az osztályhoz tartozik.

Szintaxis:

static methodName()()

A JavaScript-ben a statikus kulcsszót is használjuk bármilyen módszer statikus módszerként történő meghatározására. Csak a statikus kulcsszót kell használni a módszer nevével együtt. A módszernevek bármi lehetnek. Sok szempont kapcsolódik ehhez a statikus kulcsszóhoz, nézzük meg egyenként:

  • Az osztály tetszőleges számú statikus módszert tartalmazhat. Más szavakkal, az osztálynak egynél több statikus módszere is lehet.
  • A statikus módszer bármilyen név lehet, mint bármely más módszer vagy függvény.
  • Statikus módszer hívásához másik statikus módszerből használhatjuk ezt a kulcsszót.
  • A statikus módszer felhasználható segédfunkciók létrehozására.
  • Ha statikus módszert akarunk hívni a nem statikus módszerről, akkor nem használhatjuk ezt a kulcsszót. A statikus módszert az osztálynévvel vagy a konstruktor tulajdonságával kell meghívni.
  • Egynél több statikus módszert deklarálhatunk azonos névvel, de ha ezt megtesszük, a JavaScript mindig az utoljára hívja fel.

Egy egyszerű példa a statikus módszer szintaxisának bemutatására.

Kód:


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

A fenti példában statikus módszert hívunk azzal az osztálynévvel, amely nem hozza létre az osztály példányát. Csak az osztály neve példányként történő használata.

Hogyan működnek a statikus módszerek JavaScript-ben?

  • A statikus módszer olyan módszerek, amelyek megkövetelik egy osztály objektumának létrehozását, mielőtt ténylegesen meghívták. Meghívásukhoz létre kell hoznunk az osztály objektumát, amelyben azt definiáljuk. A statikus módszer kétféle módon hívást kap, az egyiket ehhez a kulcsszóhoz használva a kivitelezőtől.
  • A statikus módszerek nem hívhatják közvetlenül a nem statikus módszert. Az statikus módszerek példány változó állapotot használnak viselkedésük befolyásolására. A statikus módszer szintén nem látja a példányváltozó állapotát, így ha megpróbáljuk meghívni a nem statikus módszert a statikus módszer fordítójáról, akkor panaszkodni fog.
  • Ezenkívül a statikus módszer nem használhatja a nem statikus példányváltozót. A statikus módszer nem hivatkozhat az osztály egyetlen példányváltozójára sem. A statikus módszer nem tudja, hogy melyik példány változó értékét használja.
  • Míg a nem statikus módszereknél van bármilyen statikus kulcsszó a metódus nevével együtt, és ha nem statikus módszerekkel szeretnénk dolgozni, akkor létre kell hoznunk az osztály objektumát, mert csak az osztályhoz tartozik, amelyben kijelentették. A nem statikus módszerek bármilyen statikus és statikus változóhoz könnyen hozzáférhetnek az osztály példánya nélkül.

Ahhoz, hogy statikus módszert hívjunk egy másik statikus módszerről, használhatjuk az "ezt" kulcsszót.

Kód:

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

De mi van, ha statikus módszert akarunk hívni a nem statikus módszerről. Ehhez folytathatjuk a két megközelítést

1) osztálynév.static_method_name (); : Az osztálynév használatával
2) this.constructor.static_method_name (); : Vagy a kivitelező tulajdonságának felhasználásával.

Kód:

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

A JavaScript bevezette az osztályokat az ES6-ban is, így most felhasználhatjuk a statikus módszert, a konstruktorokat, a szülői szuper hívásokat és az öröklést, amelyek sokkal könnyebbé teszik az interoperabilitást a fejlesztő számára. Tehát lehet alosztálya egy szülőosztálynak, és bármilyen módszer, amelyet deklarálunk a szülőosztályban, amely elérhető lesz az alosztályban is. A getter és a setter hozzáféréseket az ES5-ben is bevezetik, és ez használható a statikus kulcsszóval. Az alábbiakban bemutatjuk, hogyan lehet ezt használni a statikus kulcsszóval.

Kód:

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

Példák a JavaScript statikus módszerére

Íme néhány példa a javascript statikus módszerre, az alábbiakban:

1. példa

A statikus módszer azonos nevű megjelenítése.

Kód:



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

Kimenet:

2. példa

Példa egynél több statikus módszer hívására.

Kód:



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

Kimenet:

3. példa

Üzenet megjelenítéséhez.

Kód:



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

Kimenet:

4. példa

Statikus módszer hívása nem statikus módszerrel.

Kód:



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

Kimenet:

5. példa

Statikus módszer hívása a kivitelezőtől.

Kód:



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

Kimenet :

Következtetés

Tehát alapvetően a statikus módszerhez nem szükséges a példány a hozzájuk való hozzáféréshez, közvetlenül hozzájuk férhetünk az osztálynév alapján, ahová tartoznak. Például ClassName.Static-method-name-to-be = hívott ();

Ajánlott cikkek

Ez egy útmutató a JavaScript statikus módszeréhez. Itt tárgyaljuk a szintaxist, a működést és a javascript statikus módszer példáit. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. JavaScript események
  2. Hibák a JavaScript-ben
  3. JavaScript vs Ruby
  4. Rekurzív funkció a JavaScript-ben

Kategória: