Introduksjon til JavaScript
JavaScript forkortes også fordi JS er et tolket programmeringsspråk på høyt nivå. JavaScript er en av de tre viktigste teknologiene på Internett. JavaScript gjør det mulig å bygge andre interaktive nettsider enn statiske websider. De fleste nettsteder bruker JS for utviklingen, og store nettlesere har JavaScript-motor for å utføre den. JavaScript er et lett, svakt typet, et prototypebasert tolket programmeringsspråk med objektorienterte funksjoner. JavaScript brukes til klientsiden utvikling av webapplikasjoner, det er inkludert i eller referert til av en HTML-fil slik at koden blir gjengitt i nettleseren. I dag brukes JavaScript ikke bare til utvikling av klientsiden, men også for programmering på serversiden, det er forskjellige rammer tilgjengelig som er bygget ved hjelp av JavaScript som Node.js. Node.js har mange moduler for å utvikle mikroservices, API-er, databaseforbindelser mange flere. JavaScript-klientsiden-mekanismen gir mange fordeler i forhold til tradisjonelle CGI-skript. JavaScript kan brukes til å handle basert på brukerinitierte hendelser som å klikke på knappene, navigasjoner, popup-meldinger, etc., og det brukes også til validering på klientsiden. for eksempel kan du validere feltene som e-post, passord osv. på skjemaet før du sender det til webserveren.
Er JavaScript-objektorientert språk?
Temaet om JavaScript er et rent objektorientert språk eller nei, er alltid diskutabelt. Så nå skal vi fjerne det som er Javascript Objektorientert fordi noen sier at det ikke er Objektorientert fordi det ikke har noen klasser og ikke kan implementere OOPs konsepter som arv eller innkapsling, og noen sier at det er Objektorientert språk. Før du diskuterer dette JavaScript-objektorienterte emnet, bør man forstå at hva gjør et programmeringsspråk til et objektorientert programmeringsspråk?
Det er få viktige kjennetegn ved et objektorienterte språk:
-
polymorfisme:
Evnen til objektet til å ta mange former. For eksempel kan funksjonen overbelastes med samme navn, men forskjellige parametere.
-
innkapsling:
Binder alle dataene og operasjonene sammen og holder dem i en klasse.
-
Arv:
Child Class kan avledes fra foreldreklasse med alle funksjonene fra foreldreklassen og noen egne egenskaper.
Disse tre nevnte prinsippene danner grunnlaget for et objektorientert språk.
Så JavaScript følger kanskje ikke det nøyaktige paradigmet med objektorienterte prinsipper, men JavaScript har forskjellige måter å implementere OOP.we kan demonstrere hvordan JavaScript følger objektorienterte prinsipper ved å ta noen eksempler:
innkapsling:
Tanken med innkapsling er at dataene til et objekt ikke skal få tilgang direkte, i stedet skal det nås via noen metoder. Men i JavaScript er det ingen begrep om klasse og objekter den implementerer innkapsling på to måter som er Funksjonsomfang og lukking
1) Funksjonsomfang:
Dette er ikke annet enn å erklære variablene i funksjonene. Så omfanget av variablene vil bare være begrenset til funksjoner, og andre objekter har ikke tilgang til variablene. La oss ta et eksempel for å demonstrere funksjonsomfanget.
funksjonstest()
(
var value = "Hei!";
alarm (verdi) // “Hallo!”;
)
alarm (verdi) // feil; verdien er ikke tilgjengelig utenfor funksjonen.
2) Lukkinger:
Stengingen er et indre omfang som har tilgang til variabler som er erklært utenfor blokken, selv etter at disse variablene har falt utenfor omfanget. Selv om metodene til et objekt ikke får tilgang til de andre lokale variablene, har et indre objekt tilgang til variabler i sin overordnede funksjon. La oss ta et eksempel for å 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åten kan vi erklære indre objekter eller metoder for å skjule dataene, og disse kan nås ved hjelp av overordnede objekter.
Arv:
JavaScript støtter arv gjennom konseptet som kalles Prototypal arv gjør at JavaScript-objekt kan anskaffe alle eller noen av funksjonene fra andre objekter eller overordnede objekter.
1) Prototype:
JavaScript beskrives som prototypebasert språk, for å gi arveobjekt kan ha et prototypeobjekt som arver metoder og egenskaper fra andre objekter. Et objekt-prototype-objekt kan også ha et prototype-objekt som arver metoder og egenskaper fra det overordnede objektet, og så videre, dette kalles prototypekjede.
Bildet over viser alle egenskapene til objektet "dyr" som blir opprettet. Så "navnet" og "typen" er egenskapene til et objekt "dyr" og egenskapene som valueOf, toString, toLocaleString, osv. Er egenskapene til et overordnet objekt som er arvet til dyreobjektet. Se bildet nedenfor som viser egenskapene til overordnet objekt ved å bruke egenskapens proto.
polymorfisme:
Poly betyr "mange", morfisme betyr "former", polymorfisme er ikke annet enn å ha forskjellige former. I JavaScript oppnås polymorfisme ved generisk, overbelastning, strukturell undertyping.
1) Generics (Parametric Polymorphism):
Dette sier at typen av variabelen ikke betyr noe i det hele tatt, de er utskiftbare. En funksjon som definerer en eller flere parametere av den parametriske polymorfe typen, må ikke vite noe om typene, den skal behandle dem alle som de samme fordi den kan tilpasse seg noen av typene. 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 oppnås ved bruk av as-hoc polymorfisme. Ad-hoc polymorfisme er en slags polymorfisme der polymorfe funksjoner kan brukes på argumenter av flere typer fordi polymorfe funksjoner kan betegne antallet forskjellige heterogene implementeringer avhengig av argumentets typer. Se eksemplet nedenfor
Operatøren “+” brukes på flere måter som å legge til tallene, slå sammen strengene osv.
1 + 2 = 3
1, 2 + 2, 3 = 3, 5
"Java" + "Script" = "JavaScript"
3) Strukturell subtyping (Strukturell polymorfisme):
Strukturell polymorfisme sier at forskjellige typer er likeverdige, for eksempel hvis en type har alle egenskapene til den andre typen sammen med noen tilleggsegenskaper (etter samme struktur)
Konstantvekt = (verdi: 100, data: sant)
Konsthastighet = (verdi: 200, data: falsk, foo: (1, 2, 3))
Hastighet anses å være en undertype av vekt.
Konklusjon - Er Javascript objektorientert?
Som vi diskuterte om er Javascript Object Oriented, Så nå kan vi konkludere med at JavaScript er et objektorientert språk. Selv om det ikke har noen virkelige klasser, er det fremdeles et objektorientert språk fordi det følger kjernebegrepene til objektorienterte prinsipper. Så et språk kan være objektorientert hvis det støtter objekter selv uten klasser.
Anbefalte artikler
Dette har vært en guide til Is Javascript Object Oriented. Her har vi diskutert de grunnleggende begrepene og egenskapene til Javascript og Object-Oriented. Du kan også se på følgende artikler:
- JavaScript vs VBScript
- Bruk av JavaScript
- JavaScript vs AngularJS
- JavaScript vs Node JS
- Omfattende guide til objekt i Java
- Objekt i Python
- Eksempler og hvordan generikker fungerer i C #