Er Javascript objektorienteret - Egenskaber ved objektorienteret

Indholdsfortegnelse:

Anonim

Introduktion til JavaScript

JavaScript forkortes også, da JS er et tolket programmeringssprog på højt niveau. JavaScript er en af ​​de tre hovedteknologier på Internettet. JavaScript giver mulighed for at oprette andre interaktive websider end statiske websider. De fleste websteder bruger JS til udvikling, og store webbrowsere har JavaScript-motor til at udføre den. JavaScript er et let, svagt typet, et prototypebaseret fortolket programmeringssprog med objektorienterede funktioner. JavaScript bruges til klientsideudvikling af webapplikationer, det er inkluderet i eller henvist til af en HTML-fil, så koden gengives i browseren. I dag bruges JavaScript ikke kun til udvikling af klientsiden, men også til programmering på serversiden, der er forskellige tilgængelige rammer, som er bygget ved hjælp af JavaScript som Node.js. Node.js har en masse moduler til udvikling af mikroservices, API'er, databaseforbindelser mange flere. JavaScript-klientsiden mekanisme giver mange fordele i forhold til traditionelle CGI-scripts. JavaScript kan bruges til at handle baseret på brugerinitierede begivenheder som klik på knapperne, navigationer, pop-up-meddelelser osv., Og det bruges også til validering på klientsiden. for eksempel kan du validere felterne som e-mail, adgangskode osv. på formularen, inden du sender den til webserveren.

Er JavaScript-objektorienteret sprog?

Emnet for, om JavaScript er et rent objektorienteret sprog eller nej, kan altid diskuteres. Så nu skal vi fjerne, at det er Javascript Objektorienteret, fordi nogle siger, at det ikke er Objektorienteret, fordi det ikke har nogen klasser og ikke kan implementere OOPs-begreber som arv eller indkapsling, og nogle siger, at det er Objektorienteret sprog. Inden vi diskuterer dette JavaScript-objektorienterede emne, skal man forstå, hvad der gør et programmeringssprog til et objektorienteret programmeringssprog?

Der er få vigtige egenskaber ved et objektorienterede sprog:

  • polymorfi:

Objektets evne til at tage mange former. F.eks. Kan funktionen overbelastes med det samme navn men forskellige parametre.

  • Indkapsling:

Bind alle data og operationer sammen og hold dem i en klasse.

  • Arv:

Børneklasse kan udledes fra forældreklasse med alle funktioner fra forældreklassen og nogle af sine egne egenskaber.

Disse ovennævnte tre principper danner grundlaget for et objektorienteret sprog.

Så JavaScript følger muligvis ikke det nøjagtige paradigme af objektorienterede principper, men JavaScript har forskellige måder at implementere OOP.we kan demonstrere, hvordan JavaScript følger objektorienterede principper ved at tage nogle eksempler:

Indkapsling:

Ideen med indkapsling er, at dataene til et objekt ikke skal have adgang direkte, men i stedet skal fås adgang til dem via nogle metoder. Men i JavaScript er der ikke noget begreb om klasse og objekter, det implementerer indkapsling på to måder, som er Funktionsomfang og lukning

1) Funktionsomfang:

Dette er intet andet end at angive variablerne inden for funktionerne. Så omfanget af variablerne vil kun være begrænset til funktioner, og andre objekter kan ikke få adgang til variablerne. Lad os tage et eksempel for at demonstrere funktionsomfanget.

funktionstest ()
(
var value = “Hej!”;
alarm (værdi) // “Hej!”;
)
alarm (værdi) // fejl; værdi er ikke tilgængelig uden for funktionen.

2) Lukninger:

Lukningen er et indre omfang, der har adgang til variabler, der er erklæret uden for dens blok, selv efter at disse variabler er faldet ud af omfanget. Selvom metoderne til et objekt ikke kan få adgang til de andre lokale variabler, har et indre objekt adgang til variabler i dets overordnede funktion. Lad os tage et eksempel for at forstå dette.

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

Så på denne måde kan vi erklære indre objekter eller metoder til at skjule dataene, og disse kan fås ved hjælp af overordnede objekter.

Arv:

JavaScript understøtter arv gennem konceptet kaldet Prototypal arv giver JavaScript-objekt mulighed for at erhverve alle eller nogle af funktionerne fra andre objekter eller overordnede objekter.

1) Prototype:

JavaScript beskrives som prototype-baseret sprog, for at give arveobjekt kan have et prototypeobjekt, der arver metoder og egenskaber fra andre objekter. Et objekter-prototype-objekt kan også have et prototype-objekt, der arver metoder og egenskaber fra dets overordnede objekt, og så videre kaldes dette prototype-kæde.

Billedet ovenfor viser alle egenskaber for objektet "dyr", der oprettes. Så "navnet" og "typen" er egenskaberne for et objekt "dyr" og egenskaberne som valueOf, toString, toLocaleString osv. Er egenskaberne for et overordnet objekt, der er arvet til dyreobjektet. Se nedenstående billede, der viser egenskaberne for overordnet objekt ved hjælp af egenskabsprotokollen.

polymorfi:

Poly betyder "mange", morfisme betyder "former", polymorfisme er intet andet end at have forskellige former. I JavaScript opnås polymorfisme ved generisk, overbelastning, strukturel subtyping.

1) Generikker (Parametrisk polymorfisme):

Dette siger, at variabeltypen overhovedet ikke betyder noget, de kan udskiftes. En funktion, der definerer en eller flere parametre af den parametriske polymorfe type, må ikke vide noget om typerne, den skal behandle dem alle som de samme, fordi den kan tilpasse sig nogen af ​​typerne. Se eksemplet nedenfor

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

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

data (“c”) ((“a”, “b”)); // (“a”, “b”, “c”)

2) Overbelastning (ad-hoc polymorfisme):

Overbelastning i JavaScript opnås ved hjælp af as-hoc polymorfisme. Ad-hoc polymorfisme er en slags polymorfisme, hvor polymorfe funktioner kan anvendes på argumenter af flere typer, fordi polymorfe funktioner kan angive antallet af forskellige heterogene implementeringer afhængigt af argumentets typer. Se det nævnte eksempel

Operatøren “+” bruges på flere måder som tilføjelse af numre, sammenkædning af strengene osv.

1 + 2 = 3

1, 2 + 2, 3 = 3, 5

“Java” + ”Script” = “JavaScript”

3) Strukturel undertypning (strukturel polymorfisme):

Strukturpolymorfisme siger, at forskellige typer er ækvivalente, for eksempel hvis en type har alle egenskaberne for den anden type sammen med nogle yderligere egenskaber (efter den samme struktur)

Konstantvægt = (værdi: 100, data: sand)

Konsthastighed = (værdi: 200, data: falsk, foo: (1, 2, 3))

Hastighed betragtes som en undertype af vægt.

Konklusion - Er Javascript objektorienteret?

Som vi diskuterede om er Javascript objektorienteret, så nu kan vi konkludere, at JavaScript er et objektorienteret sprog. Selvom det ikke har nogen rigtige klasser, er det stadig et objektorienteret sprog, fordi det følger kernebegreberne af objektorienterede principper. Så et sprog kan være objektorienteret, hvis det understøtter objekter, selv uden klasser.

Anbefalede artikler

Dette har været en guide til Is Javascript Object Oriented. Her har vi drøftet de grundlæggende koncepter og egenskaber ved Javascript og Objektorienteret. Du kan også se på følgende artikler:

  1. JavaScript vs VBScript
  2. Brug af JavaScript
  3. JavaScript vs AngularJS
  4. JavaScript vs Node JS
  5. Omfattende guide til objekt i Java
  6. Objekt i Python
  7. Eksempler og hvordan generics fungerer i C #