Увод у ЈаваСцрипт статичку методу

ЈаваСцрипт статичке методе се обично користе за креирање корисних функција. Уведени су у ЕС6 за метод специфичан за класу објектно оријентисаног програмирања у ЈаваСцрипт-у.

За декларирање статичке методе једноставно можемо користити статичку кључну реч са потписом методе. Статичка метода се не позива на инстанцу класе коју чине да се позивају директно на класу.

Дакле, можемо рећи да нам ЈаваСцрипт пружа статички метод који припада класи, али не и инстанци класе. Као и јава, није нам потребна ни инстанца класе да би се позивао статички метод у ЈаваСцрипт-у. Отуда статичка метода у ЈаваСцрипт-у припада самој класи.

Синтакса:

static methodName()()

У ЈаваСцрипт-у такође користимо статичку кључну реч да бисмо дефинисали било који метод као статички метод. Треба само да користимо статичку кључну реч заједно са називом методе. Називи метода могу бити било шта. Постоји много тачака повезаних са овом статичком кључном речом, проверимо их једну по једну:

  • Класа може да садржи било који број статичких метода. Другим речима, класа може имати више статичких метода.
  • Статичка метода може бити било којег имена попут било које друге методе или функције.
  • Да бисмо позвали статички метод из другог статичког метода, можемо да користимо ову кључну реч.
  • Статичка метода може се користити за креирање корисних функција.
  • Ако у таквим случајевима желимо назвати статички метод из нестатичког, не можемо да користимо ову кључну реч. Морамо назвати статичку методу именом класе или као својство конструктора.
  • Можемо декларирати више статичких метода са истим именом, али ако то учинимо, ЈаваСцрипт увек позива последњу.

Једноставни пример за демонстрирање синтаксе статичке методе.

Шифра:


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

У горњем примеру зовемо статичку методу са називом класе, не стварајући инстанцу класе. Кориштење назива класе само као инстанције.

Како статичке методе раде у ЈаваСцрипт-у?

  • Статичка метода су методе које захтевају да се предмет класе креира пре него што их је заиста позвао. Да бисмо их позвали, морамо креирати објект класе у којој је дефинисан. Статички метод добија позив на два начина, један користећи ову кључну реч, а други од конструктора.
  • Статичке методе не могу директно назвати несталтичку методу. Статичке методе користе променљиво стање примера да утичу на њихово понашање. Статичка метода такође не може да види стање променљиве инстанце, па ако покушамо да зовемо нестанстичку методу из компајлера статичке методе ће се жалити.
  • Такође, статичка метода не може да користи несталну променљиву инстанцу. Статичка метода не може се односити на ниједну инстанцу варијабли класе. Статичка метода не зна коју променљиву вредност инстанције треба користити.
  • Док у случају нестатичких метода они имају било коју статичку кључну реч заједно са називом методе и ако желимо да радимо са нестатичким методама, онда морамо да створимо објект те класе, јер он припада класи само у којој проглашено је. Нестатичке методе могу лако приступити било којој статичкој и било којој статичкој варијабли без инстанце класе.

Да бисмо позвали статички метод из другог статичког метода, можемо да користимо кључну реч 'овај'.

Шифра:

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

Али шта ако желимо назвати статички метод из нестатичке методе. За то можемо ићи са било којим од два приступа

1) цласснаме.статиц_метход_наме (); : Коришћењем имена класе
2) тхис.цонструцтор.статиц_метход_наме (); : Или употребом својства конструктора.

Шифра:

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

ЈаваСцрипт такође има увођење класе у ЕС6 тако да сада можемо да користимо статичку методу, конструкторе, супер позиве родитељу и наследство што ће интероперабилност знатно олакшати програмеру. Тако можемо имати подразред надређене класе и било коју методу коју изјавимо у родитељској класи која ће бити доступна и у подкласи. Приступници геттер и сеттер су такође представљени у ЕС5 и то се може користити са статичком кључном речју. Испод је пример како бисте показали како то користити са статичком кључном речју.

Шифра:

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

Примери ЈаваСцрипт статичке методе

Ево неколико примера статичке методе ЈаваСцрипта дате у даљем тексту:

Пример # 1

Да би се приказала статичка метода са истим називом.

Шифра:



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

Излаз:

Пример бр. 2

Пример за позивање више статичких метода.

Шифра:



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

Излаз:

Пример бр. 3

Да бисте приказали поруку

Шифра:



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

Излаз:

Пример бр. 4

Позивање статичке методе из нестатичке методе.

Шифра:



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

Излаз:

Пример бр. 5

Позивање статичке методе од конструктора.

Шифра:



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

Излаз:

Закључак

Дакле, у основи статички метод не захтева инстанцу да им приступимо, можемо им директно приступити по имену класе унутар које припадају. На пример ЦлассНаме.Статиц-метход-наме-то-бе = цалл ();

Препоручени чланци

Ово је водич за ЈаваСцрипт статичку методу. Овде смо расправљали о синтакси, раду и примерима статичке методе ЈаваСцрипта. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. ЈаваСцрипт Евентс
  2. Грешке у ЈаваСцрипт-у
  3. ЈаваСцрипт вс Руби
  4. Рекурзивна функција у ЈаваСцрипт-у

Категорија: