Er JavaScript objektorientert?

Er JavaScript objektorientert?

Objektorientert programmering (OOP), er en programmeringstilnærming som brukes av hver utvikler på et tidspunkt i livet for å organisere programvaredesign rundt objekter eller data i stedet for logikk eller funksjoner der et objekt er en enhet som har noen egenskaper og noen type. Fordelene ved å bruke OOP -teknikken inkluderer modularitet, gjenbrukbarhet, sikkerhet, produktivitet, fleksibilitet og er lett skalerbar og oppgraderbar.

Funksjoner av OOP

De tre hovedtrekkene i OOP er som følger:

i) innkapsling

Innkapsling er et konsept av OOP som pakker data og metoder som fungerer på disse dataene i en enhet, for eksempel en klasse i Java og en forekomst av en klasse kalles et objekt. Innkapsling refererer også til å begrense datatilgang til noen klasser eller objekter, og derfor vil ikke alle brukerne kunne få tilgang til variabler eller tilstandsverdier for noen objekter.

ii) Arv

I arv arver en klasse (barn) alle metodene og attributtene til en annen (foreldre) klasse.

iii) Polymorfisme

Polymorfisme betyr en egenskap som har mange former og er et av kjernekonseptene i OOP. Polymorfisme lar oss lage prosedyrer om objekter hvis eksakte type ikke er kjent før kjøretid.

JavaScript objektorientert?

JavaScript er et programmeringsspråk basert på prototyper og brukes hovedsakelig til å lage webapplikasjoner og websider. Prototype programmeringsspråk er en stil med OOP der objekter som allerede er opprettet, kan klones og gjenbrukes slik at programmet eller applikasjonen kan konstrueres. Funksjoner brukes som konstruktører for klasser i prototypebaserte programmeringsspråk.

JavaScript er utmerket i programmering av OOP-applikasjoner og er tungt objektbasert, men det er ikke et klassebasert OOP-språk, men snarere et prototypebasert programmeringsspråk. Vi kan imidlertid bruke JavaScript som et klassebasert programmeringsspråk. JavaScript lar deg lage eller lage nye objekter for bruk av applikasjonen din. Det skal imidlertid bemerkes at selv om OOP-språk oppmuntrer og fokuserer på forhold og taksonomi, fokuserer prototypebaserte språk og oppmuntrer til atferd først og deretter klassifisering senere.

I 2015 introduserte JavaScript et klasses nøkkelord som skulle lage JavaScript OOP -språk, men det var bare syntetisk sukker over den eksisterende prototypeteknikken. Det ytre legemet ser ut som OOP, men i bakgrunnen fortsetter prototypingen.

Nedenfor er et eksempel på OOP i JavaScript hvor vi brukte klasse for å definere studentobjekter og har eiendommen til navn og karakter- og metodestudier () som returnerer studentens navn og karakter.

klasse student
konstruktør (navn, karakter)
dette.Navn = navn;
dette.karakter = karakter;

studier ()
returner '$ dette.name studier i $ grade ';


La myStudent1 = ny student ("Jhon", 6);
konsoll.logg (mystudent1);

Hvis vi utvider prototypen sett på skjermbildet ovenfor, vil vi se at proto refererer til studentprototypen som faktisk refererer til objektprototypen.

JavaScript -innkapslingseksempel

La oss se på et eksempel der arv brukes og personklassen eller objektet er definert der en person har et navn og en metode også er definert der navnet returneres. En annen klassestudent er definert som utvider personen, og dermed arver alle egenskapene og metodene i foreldreklasse I-E-person og i barneklasse I-E-studentklassen, benyttet vi super nøkkelordet som påkaller konstruktøren til foreldre- eller personklasse. Du vil også kunne se at personobjektet og studentobjektet begge har en metode med samme navn toString (). Dette kalles Overriding og OOP lar oss ha en metode i en barneklasse med samme navn og signatur som foreldreklassen.

// Eksempel på arv
klasseperson
konstruktør (navn)
dette.Navn = navn;

// streng kommer tilbake fra denne metoden
toString ()
return ('navn: $ dette.Navn');


Klassestudent utvider personen
konstruktør (navn, regid)
// super nøkkelord som brukes til å ringe foreldrekonstruktør
Super (navn);
dette.regid = regid;

toString ()
return ('$ super.toString (), registrerings -ID: $ dette.regid ');


La myStudent1 = ny student ('Jhon', 1032);
Varsel (MyStudent1.toString ());

Konklusjon

Oop er en programmeringsmodell som organiserer programvaredesign rundt objekter i stedet for logikk eller funksjoner. Et objekt har en viss eiendom og verdi. Ved å bruke OOP oppnår vi sikkerhet, produktivitet, gjenbrukbarhet og mye mer.

JavaScript er et programmeringsspråk som er basert på prototyper, men i 2015 ble klasse nøkkelord introdusert som gjør JavaScript som et OOP -programmeringsspråk, men som vi så i beskrivelsen ovenfor, i bakgrunnen prototyping fortsetter. For å si det enkelt, er JavaScript et prototypingsbasert objektorientert programmeringsspråk.