Je predmet usmerjen v JavaScript - Karakteristike objektno usmerjenih

Kazalo:

Anonim

Uvod v JavaScript

JavaScript je skrajšan tudi, saj je JS programski jezik na visoki ravni. JavaScript je ena od treh glavnih tehnologij svetovnega spleta. JavaScript omogoča izdelavo interaktivnih spletnih strani, ki niso statične. Večina spletnih mest uporablja JS za razvoj, večji spletni brskalniki pa imajo JavaScript mehanizem za njegovo izvajanje. JavaScript je lahek, šibko tipiziran, prototip zasnovan interpretiran programski jezik z objektno usmerjenimi zmožnostmi. JavaScript se uporablja za razvoj spletnih aplikacij na strani odjemalca, vključen je v datoteko HTML ali nanjo sklican, tako da se koda upodobi v brskalniku. Dandanes se JavaScript ne uporablja samo za razvoj na strani odjemalca, ampak se uporablja tudi za programiranje na strani strežnika, na voljo so različni okviri, ki so zgrajeni s pomočjo JavaScript, kot je Node.js. Node.js ima veliko modulov za razvoj mikroservisov, API-jev, povezav z bazami podatkov še veliko več. Mehanizem na strani odjemalca ponuja številne prednosti pred tradicionalnimi skripti CGI. JavaScript se lahko uporablja za delovanje na podlagi dogodkov, ki jih sproži uporabnik, kot so klik na gumbe, navigacije, pojavna sporočila itd., Uporablja pa se tudi za preverjanje na strani stranke. na primer lahko potrdite polja, kot so e-pošta, geslo itd., na obrazcu, preden ga pošljete spletnemu strežniku.

Ali je JavaScript objektno orientiran jezik?

Tema o tem, ali je JavaScript čist objektno orientiran jezik ali ne, je vedno diskutabilna. Torej bomo zdaj razjasnili, da je Javascript objektno orientiran, ker nekateri pravijo, da ni objektno orientiran, ker nima nobenih razredov in ne more implementirati konceptov OOP, kot sta dedovanje ali enkapsulacija, nekateri pa pravijo, da gre za objektno orientiran jezik. Preden razpravljamo o tej temi, ki je predmet predmeta JavaScript, bi morali razumeti, kaj programski jezik naredi objektno usmerjen programski jezik?

Objektno usmerjenih jezikov je nekaj pomembnih:

  • Polimorfizem:

Sposobnost predmeta, da sprejme več oblik. Na primer, funkcijo lahko preobremenite z istim imenom, vendar z različnimi parametri.

  • Inkapsulacija:

Povezovanje vseh podatkov in operacij skupaj in hranjenje v razredu.

  • Dediščina:

Otroški razred lahko izhaja iz nadrejenega razreda z vsemi lastnostmi nadrejenega razreda in nekaterimi lastnimi lastnostmi.

Ta zgoraj omenjena tri načela so osnova predmetnega jezika.

Torej JavaScript morda ne sledi natančni paradigmi Objektno naravnanih načel, vendar ima JavaScript različne načine izvajanja OOP.we lahko dokažejo, kako JavaScript sledi objektno usmerjenim načelom z nekaj primerov:

Inkapsulacija:

Ideja enkapsulacije je ta, da do podatkov predmeta ne bi smeli dostopati neposredno, temveč bi morali biti dostopni z nekaterimi metodami. Toda v JavaScript-u ne obstaja koncept razreda in predmetov, ki izvaja enkapsulacijo na dva načina, to je področje delovanja in zaprtje

1) Področje delovanja:

To ni nič drugega kot razglasitev spremenljivk znotraj funkcij. Torej bo obseg spremenljivk omejen samo na funkcije in drugi predmeti ne morejo dostopati do spremenljivk. Vzemimo primer za prikaz obsega funkcije.

preizkus funkcije ()
(
vrednost var = "Pozdravljeni!";
opozorilo (vrednost) // "Pozdravljeni!";
)
opozorilo (vrednost) // napaka; vrednost ni na voljo zunaj funkcije.

2) Zaprtja:

Zapiranje je notranji obseg, ki ima dostop do spremenljivk, prijavljenih zunaj svojega bloka, tudi potem, ko so te spremenljivke izpadle iz področja. Čeprav metode predmeta ne morejo dostopati do drugih lokalnih spremenljivk, ima notranji objekt dostop do spremenljivk svoje nadrejene funkcije. Vzemimo primer, da to razumemo.

var person = (
var name = “JavaScript”;
return (
setName : function(value)(
name = value;
),
getName : function()(
return name;
)
);
);
alert(person.name) //JavaScript
person.setName(“Java”)
alert(person.name) //Java

Tako lahko na ta način razglasimo notranje predmete ali metode za skrivanje podatkov, do njih pa lahko dostopamo s pomočjo nadrejenih predmetov.

Dediščina:

JavaScript podpira dedovanje s konceptom, imenovanim Prototypal dedovanje, omogoča, da JavaScript objekt pridobi vse ali nekatere funkcije drugih predmetov ali nadrejenih predmetov.

1) Prototip:

JavaScript je opisan kot prototipni jezik, za zagotavljanje objekta za dedovanje pa je lahko prototipni objekt, ki podeduje metode in lastnosti od drugih predmetov. Objekt prototipa predmet lahko ima tudi prototipni objekt, ki podeduje metode in lastnosti od svojega nadrejenega predmeta in tako naprej, to se imenuje veriga prototipa.

Zgornja slika prikazuje vse lastnosti predmeta "žival", ki se ustvarja. Torej, "ime" in "tip" sta lastnosti predmeta "živali", lastnosti, kot so valueOf, toString, toLocaleString itd., Pa so lastnosti nadrejenega predmeta, ki so podedovane po živalskem objektu. Glejte spodnjo sliko, ki prikazuje lastnosti nadrejenega predmeta s protokolom lastnosti.

Polimorfizem:

Poly pomeni "mnogo", morfizem pomeni "oblike", polimorfizem ni nič drugega kot to, da ima različne oblike. V JavaScript polimorfizem dosežemo z generičnimi, preobremenitvenimi, strukturnimi podtipizacijami.

1) Generiki (parametrični polimorfizem):

To pravi, da vrsta spremenljivke sploh ni pomembna, so zamenljivi. Funkcija, ki definira enega ali več parametrov parametričnega polimorfnega tipa, ne sme vedeti ničesar o tipih, vse bi jih morala obravnavati kot enake, ker se lahko prilagodi kateri koli od vrst. Glej spodnji primer

podatki const = x => y => y.concat (x);

podatki (3) ((1, 2)); // (1, 2, 3)

podatki ("c") (("a", "b")); // ("a", "b", "c")

2) Preobremenjenost (ad hoc polimorfizem):

Preobremenitev v JavaScript je dosežena z as-hoc polimorfizmom. Ad-hoc polimorfizem je vrsta polimorfizma, pri katerem se polimorfne funkcije lahko uporabijo za argumente več vrst, ker lahko polimorfne funkcije označujejo število različnih heterogenih izvedb, odvisno od vrste argumentov. Glej spodnji primer

Operater "+" se uporablja na več načinov, kot so dodajanje števil, povezovanje strun itd.

1 + 2 = 3

1, 2 + 2, 3 = 3, 5

"Java" + "Script" = "JavaScript"

3) Strukturni podtip (Strukturni polimorfizem):

Strukturni polimorfizem pravi, da so različni tipi enakovredni, na primer, če ima ena vrsta vse lastnosti druge vrste, skupaj z nekaterimi dodatnimi lastnostmi (po isti strukturi)

Teža const = (vrednost: 100, podatki: true)

Const hitrost = (vrednost: 200, podatki: false, foo: (1, 2, 3))

Hitrost velja za podtip teže.

Zaključek - Ali je objekt usmerjen v JavaScript?

Kot smo razpravljali o objektno usmerjenem Javascriptu, lahko zdaj ugotovimo, da je JavaScript objektno orientiran jezik. Čeprav nima pravih razredov, je to še vedno objektno orientiran jezik, saj sledi temeljnim konceptom objektno usmerjenih načel. Torej, jezik je lahko objektno orientiran, če podpira predmete tudi brez razredov.

Priporočeni članki

To je vodnik za to, ali je Javascript objektno orientiran. Tu smo razpravljali o osnovnih pojmih in značilnostih Javascripta in Objected-orientacije. Ogledate si lahko tudi naslednje članke:

  1. JavaScript v VBScript
  2. Uporaba JavaScript
  3. JavaScript v primerjavi z AngularJS
  4. JavaScript vs Node JS
  5. Celovit vodnik po predmetu na Javi
  6. Objekt v Pythonu
  7. Primeri in delovanje generike v C #