Är Javascript objektorienterad - Egenskaper för objektorienterad

Innehållsförteckning:

Anonim

Introduktion till JavaScript

JavaScript förkortar också eftersom JS är ett tolkat programmeringsspråk på hög nivå. JavaScript är en av de tre huvudteknologierna på World Wide Web. JavaScript gör det möjligt att skapa andra interaktiva webbsidor än statiska webbsidor. De flesta webbplatser använder JS för utvecklingen och stora webbläsare har JavaScript-motor för att köra den. JavaScript är ett lätt, svagt typat, ett prototypbaserat tolkat programmeringsspråk med objektorienterade funktioner. JavaScript används för klientsidan för webbapplikationer, det ingår i eller hänvisas till av en HTML-fil så att koden återges i webbläsaren. För närvarande används JavaScript inte bara för utveckling av klientsidan utan även för programmering på serversidan, det finns olika ramverk tillgängliga som är byggda med JavaScript som Node.js. Node.js har många moduler för att utveckla mikroservices, API: er, databasanslutningar många fler. Mekanismen JavaScript-klientsidan ger många fördelar jämfört med traditionella CGI-skript. JavaScript kan användas för att agera baserat på användarinitierade händelser som att klicka på knappar, navigeringar, popup-meddelanden etc., och det används också för validering av klientsidan. till exempel kan du validera fälten som e-post, lösenord etc. på formuläret innan du skickar det till webbservern.

Är JavaScript objektorienterat språk?

Ämnet om JavaScript är ett rent objektorienterat språk eller nej är alltid diskutabelt. Så nu kommer vi att rensa att det är Javascript objektorienterat eftersom vissa säger att det inte är objektorienterat eftersom det inte har några klasser och inte kan implementera OOP-begrepp som arv eller inkapsling och vissa säger att det är objektorienterat språk. Innan man diskuterar detta JavaScript-objektorienterade ämne, bör man förstå att vad gör ett programmeringsspråk till ett objektorienterat programmeringsspråk?

Det finns få viktiga egenskaper hos ett objektorienterade språk:

  • polymorfism:

Objektets förmåga att ta många former. Till exempel kan funktionen överbelastas med samma namn men med olika parametrar.

  • inkapsling:

Bindar all data och operationer tillsammans och håller dem i en klass.

  • Arv:

Barnklass kan härledas från förälderklass med alla funktioner från förälderklassen och vissa egna egenskaper.

Dessa ovan nämnda tre principer utgör grunden för ett objektorienterat språk.

Så JavaScript kanske inte följer det exakta paradigmet för objektorienterade principer, men JavaScript har olika sätt att implementera OOP.we kan visa hur JavaScript följer objektorienterade principer genom att ta några exempel:

inkapsling:

Tanken med inkapsling är att data för ett objekt inte ska nås direkt utan de ska nås via vissa metoder. Men i JavaScript finns det inget begrepp av klass och objekt, det implementerar inkapsling på två sätt som är Function Scope and Closure

1) Funktionsomfång:

Detta är inget annat än att deklarera variablerna i funktionerna. Så omfattningen av variablerna kommer endast att begränsas till funktioner och andra objekt kan inte komma åt variablerna. Låt oss ta ett exempel för att visa funktionsomfånget.

funktionstest()
(
var värde = "Hej!";
varning (värde) // "Hej!";
)
varning (värde) // fel; värdet är inte tillgängligt utanför funktionen.

2) Stängningar:

Stängningen är en inre räckvidd som har tillgång till variabler som deklarerats utanför dess block, även efter att dessa variabler har fallit ur räckvidden. Även om metoderna för ett objekt inte kan komma åt de andra lokala variablerna, har ett inre objekt åtkomst till variabler i dess överordnade funktion. Låt oss ta ett exempel för att förstå detta.

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å detta sätt kan vi förklara inre objekt eller metoder för att dölja informationen och de kan nås med föräldraobjekt.

Arv:

JavaScript stöder arv genom konceptet Prototypal arv gör att JavaScript-objekt kan skaffa alla eller några av funktionerna från andra objekt eller överordnade objekt.

1) Prototyp:

Javascript beskrivs som prototypbaserat språk, för att ge arvobjekt kan ha ett prototypobjekt som ärver metoder och egenskaper från andra objekt. Ett objekts prototypobjekt kan också ha ett prototypobjekt som ärver metoder och egenskaper från dess överordnade objekt och så vidare, detta kallas prototypkedja.

Bilden ovan visar alla egenskaper för objektet "djur" som skapas. Så, "namn" och "typ" är egenskaperna för ett objekt "djur" och egenskaperna som valueOf, toString, toLocaleString, etc är egenskaperna hos ett överordnat objekt som ärvs till djurobjektet. Se bilden nedan som visar egenskaperna för överordnade objekt med hjälp av fastighetsproto.

polymorfism:

Poly betyder "många", morfism betyder "former", polymorfism är ingenting annat än att ha olika former. I JavaScript uppnås polymorfism genom generisk, överbelastning, strukturell subtyper.

1) Generics (Parametric Polymorphism):

Detta säger att variabeltypen inte spelar någon roll, de är utbytbara. En funktion som definierar en eller flera parametrar av den parametriska polymorfa typen får inte veta någonting om typerna, den bör behandla alla som samma eftersom den kan anpassa sig till någon av typerna. Se exemplet nedan

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

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

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

2) Överbelastning (ad-hoc polymorfism):

Överbelastning i JavaScript uppnås med as-hoc polymorfism. Ad-hoc polymorfism är en typ av polymorfism där polymorfiska funktioner kan tillämpas på argument av flera typer eftersom polymorfa funktioner kan beteckna antalet distinkta heterogena implementationer beroende på argumentens typer. Se nedanstående exempel

Operatören "+" används på flera sätt som att lägga till siffrorna, sammankoppla strängarna etc.

1 + 2 = 3

1, 2 + 2, 3 = 3, 5

"Java" + "Script" = "JavaScript"

3) Strukturell subtyper (Strukturell polymorfism):

Strukturell polymorfism säger att olika typer är ekvivalenta, till exempel om en typ har alla egenskaperna hos den andra typen tillsammans med några ytterligare egenskaper (efter samma struktur)

Konstvikt = (värde: 100, data: true)

Konsthastighet = (värde: 200, data: falsk, foo: (1, 2, 3))

Hastighet anses vara en subtyp av vikt.

Slutsats - Är Javascript objektorienterad?

Som vi diskuterade är Javascript Object Oriented, Så nu kan vi dra slutsatsen att JavaScript är ett objektorienterat språk. Även om det inte har några riktiga klasser är det fortfarande ett objektorienterat språk eftersom det följer kärnbegreppen i objektorienterade principer. Så ett språk kan vara objektorienterat om det stöder objekt även utan klasser.

Rekommenderade artiklar

Detta har varit en guide till Is Javascript Object Oriented. Här har vi diskuterat de grundläggande koncepten och egenskaperna hos Javascript och Object-Oriented. Du kan också titta på följande artiklar:

  1. JavaScript vs VBScript
  2. Användning av JavaScript
  3. JavaScript vs AngularJS
  4. JavaScript vs Node JS
  5. Omfattande guide till objekt i Java
  6. Objekt i Python
  7. Exempel och hur generiker fungerar i C #