Je li Javascript objektno orijentiran - Karakteristike objektno orijentirane

Sadržaj:

Anonim

Uvod u JavaScript

JavaScript se također skraćuje jer je JS interpretirani programski jezik visoke razine. JavaScript je jedna od tri glavne tehnologije svjetskog weba. JavaScript omogućava izradu interaktivnih web stranica koje nisu statične. Većina web stranica koristi JS za razvoj, a glavni web preglednici imaju JavaScript engine za njegovo izvršavanje. JavaScript je lagani, slabo tipkani, prototipni interpretirani programski jezik s objektno orijentiranim mogućnostima. JavaScript se koristi za razvoj web aplikacija na strani klijenta, uključuje se u HTML datoteku ili na nju upućuje tako da se kôd prikazuje u pregledniku. Danas se JavaScript ne koristi samo za razvoj na strani klijenta, već se koristi i za programiranje na strani poslužitelja. Na raspolaganju su razni okviri koji se grade koristeći JavaScript poput Node.js. Node.js ima puno modula za razvoj mikroservisa, API-ja, veza s bazama podataka mnogo više. Mehanizam na strani klijenta pruža brojne prednosti u odnosu na tradicionalne CGI skripte. JavaScript se može koristiti za djelovanje na temelju događaja koje su pokrenuli korisnici, kao što su klikovi na gumbe, navigacije, skočne poruke itd., A koristi se i za provjeru na strani klijenta. na primjer, možete potvrditi polja poput e-pošte, zaporke itd. na obrascu prije nego što ga pošaljete web poslužitelju.

Je li JavaScript objektno orijentiran jezik?

Temacija je li JavaScript čisti objektni jezik ili nije uvijek diskutabilna. Sada ćemo razjasniti da je Javascript objektno orijentiran jer neki kažu da nije objektno orijentiran jer nema klase i ne može implementirati OOP koncepte poput nasljeđivanja ili enkapsulacije, a neki kažu da je to objektno orijentirani jezik. Prije nego što raspravljamo o ovoj JavaScript objektno orijentiranoj temi, trebalo bi razumjeti da ono što programski jezik čini objektno orijentiranim programskim jezikom?

Nekoliko je važnih karakteristika objektno orijentiranih jezika:

  • polimorfizam:

Sposobnost objekta da poprimi mnoge oblike. Na primjer, funkcija se može preopteretiti istim nazivom, ali različitim parametrima.

  • ovijanje:

Povezivanje svih podataka i operacija zajedno i čuvanje u klasi.

  • Nasljeđivanje:

Dječja klasa može se izvesti iz roditeljske klase sa svim značajkama roditeljske klase i nekim njezinim vlastitim svojstvima.

Navedena tri principa čine osnovu objektno orijentiranog jezika.

Dakle, JavaScript možda ne slijedi točnu paradigmu objektno orijentiranih principa, ali JavaScript ima različite načine implementacije OOP.we mogu pokazati kako JavaScript slijedi objektno orijentirana načela uzimajući neke primjere:

ovijanje:

Ideja enkapsulacije je da se podacima objekta ne smije pristupiti izravno, već da im se mora pristupiti nekim metodama. Ali u JavaScript-u ne postoji pojam klase i objekata koji provodi enkapsulaciju na dva načina, a to su opseg funkcija i zatvaranje

1) Opseg funkcije:

To je ništa drugo nego proglašavanje varijabli unutar funkcija. Dakle, opseg varijabli bit će ograničen samo na funkcije i drugi objekti ne mogu pristupiti varijablama. Uzmimo primjer da pokažemo opseg funkcija.

funkcionalni test ()
(
var vrijednost = "Pozdrav!";
upozorenje (vrijednost) // "Pozdrav!";
)
upozorenje (vrijednost) // greška; vrijednost nije dostupna izvan funkcije.

2) Zatvaranja:

Zatvaranje je unutarnji opseg koji ima pristup varijablama deklariranim izvan njegovog bloka, čak i nakon što te varijable ispadnu iz okvira. Iako metode objekta ne mogu pristupiti drugim lokalnim varijablama, unutarnji objekt ima pristup varijablama svoje roditeljske funkcije. Uzmimo primjer da bismo to razumjeli.

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

Na taj način možemo deklarirati unutarnje objekte ili metode za skrivanje podataka, a onima kojima se može pristupiti pomoću nadređenih objekata.

Nasljeđivanje:

JavaScript podržava nasljeđivanje kroz koncept koji se naziva Prototypal nasljeđivanje omogućava da JavaScript objekt stekne sva ili neke značajke iz drugih objekata ili roditeljskih objekata.

1) prototip:

JavaScript je opisan kao prototip zasnovan na jeziku, za pružanje objekta nasljeđivanja može postojati objekt prototipa koji nasljeđuje metode i svojstva od drugih objekata. Objekt prototipa može imati i objekt prototipa koji nasljeđuje metode i svojstva od nadređenog objekta i tako dalje, to se naziva prototipni lanac.

Slika iznad pokazuje sva svojstva objekta “životinja” koji se stvara. Dakle, „ime“ i „tip“ su svojstva objekta „životinja“, a svojstva poput valueOf, toString, toLocaleString itd. Su svojstva roditeljskog objekta koja se nasljeđuju na životinjski objekt. Pogledajte donju sliku koja prikazuje svojstva nadređenog objekta pomoću protoka svojstva.

polimorfizam:

Poli znači "mnogo", morfizam znači "oblici", polimorfizam nije ništa drugo nego različiti oblici. U JavaScript polimorfizam se postiže generičkim, preopterećenjem, strukturnim podtipovanjem.

1) Generički (parametrični polimorfizam):

To kaže da vrsta varijable uopće nije bitna, oni su zamjenjivi. Funkcija koja definira jedan ili više parametara parametrijskog polimorfnog tipa ne smije znati ništa o vrstama, treba ih tretirati kao iste jer se može prilagoditi bilo kojoj vrsti. Pogledajte primjer u nastavku

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

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

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

2) Preopterećenje (ad-hoc polimorfizam):

Preopterećenje JavaScriptom postiže se primjenom posebnog polimorfizma. Ad-hoc polimorfizam je vrsta polimorfizma u kojoj se polimorfne funkcije mogu primijeniti na argumente više vrsta, jer polimorfne funkcije mogu označavati broj različitih heterogenih implementacija, ovisno o vrstama argumenata. Pogledajte dolje navedeni primjer

Operater "+" koristi se na nekoliko načina kao što su dodavanje brojeva, spajanje žice itd.

1 + 2 = 3

1, 2 + 2, 3 = 3, 5

"Java" + "Script" = "JavaScript"

3) Strukturno podtipiziranje (Strukturni polimorfizam):

Strukturalni polimorfizam kaže da su različiti tipovi ekvivalentni, na primjer, ako jedna vrsta ima sva svojstva druge vrste, zajedno s nekim dodatnim svojstvima (slijedeći istu strukturu)

Težina ukupne težine = (vrijednost: 100, podaci: istina)

Const speed = (vrijednost: 200, podaci: false, foo: (1, 2, 3))

Brzina se smatra podvrste težine.

Zaključak - Je li Javascript objektno orijentiran?

Kao što smo raspravljali o Javascript objektno orijentiranom, sada možemo zaključiti da je JavaScript objekt orijentiran na objekt. Iako nema prave klase, to je još uvijek objektno orijentirani jezik jer slijedi temeljne koncepte objektno orijentiranih principa. Dakle, jezik može biti objektno orijentiran ako podržava objekte čak i bez klasa.

Preporučeni članci

Ovo je vodič za usmjerenost na Javascript. Ovdje smo raspravljali o osnovnim konceptima i karakteristikama Javascripta i Orijentirano na objekt. Možete pogledati i sljedeće članke:

  1. JavaScript vs VBScript
  2. Upotrebe JavaScripta
  3. JavaScript vs AngularJS
  4. JavaScript u odnosu na čvor JS
  5. Sveobuhvatni vodič za objekte na Javi
  6. Objekt u Pythonu
  7. Primjeri i način na koji generički djeluju u C #