Introduzione a JavaScript

JavaScript abbrevia anche in quanto JS è un linguaggio di programmazione interpretato di alto livello. JavaScript è una delle tre principali tecnologie del World Wide Web. JavaScript consente di creare pagine Web interattive diverse dalle pagine Web statiche. La maggior parte dei siti Web utilizza JS per lo sviluppo e i principali browser Web hanno un motore JavaScript per eseguirlo. JavaScript è un linguaggio di programmazione interpretato basato su prototipo leggero, debolmente tipizzato con capacità orientate agli oggetti. JavaScript viene utilizzato per lo sviluppo di applicazioni Web sul lato client, è incluso o referenziato da un file HTML in modo che il codice venga visualizzato nel browser. Oggigiorno JavaScript non è utilizzato solo per lo sviluppo lato client, ma anche per la programmazione lato server, sono disponibili vari framework creati utilizzando JavaScript come Node.js. Node.js ha molti moduli per lo sviluppo di microservizi, API, connessioni al database molti altri. Il meccanismo lato client JavaScript offre molti vantaggi rispetto agli script CGI tradizionali. JavaScript può essere utilizzato per agire in base a eventi avviati dall'utente come clic sui pulsanti, navigazioni, messaggi pop-up, ecc. Ed è utilizzato anche per la convalida lato client. ad esempio, è possibile convalidare i campi come e-mail, password, ecc. sul modulo prima di inviarlo al server web.

Il linguaggio JavaScript è orientato agli oggetti?

L'argomento se JavaScript sia un linguaggio orientato agli oggetti puro o no è sempre discutibile. Quindi ora chiariremo che è Javascript orientato agli oggetti perché alcuni dicono che non è orientato agli oggetti perché non ha classi e non può implementare concetti di OOP come ereditarietà o incapsulamento e alcuni dicono che è un linguaggio orientato agli oggetti. Prima di discutere di questo argomento JavaScript orientato agli oggetti, si dovrebbe capire che cosa rende un linguaggio di programmazione un linguaggio di programmazione orientato agli oggetti?

Ci sono alcune caratteristiche importanti di un linguaggio orientato agli oggetti:

  • Polimorfismo:

La capacità dell'oggetto di assumere molte forme. Ad esempio, la funzione può essere sovraccaricata con lo stesso nome ma parametri diversi.

  • incapsulamento:

Associare tutti i dati e le operazioni insieme e mantenerli in una classe.

  • Eredità:

La classe figlio può essere derivata dalla classe genitore con tutte le caratteristiche della classe genitore e alcune proprietà proprie.

Questi tre principi sopra menzionati formano la base di un linguaggio orientato agli oggetti.

Pertanto, JavaScript potrebbe non seguire l'esatto paradigma dei Principi orientati agli oggetti, ma JavaScript ha diversi modi di implementare l'OOP. Possiamo dimostrare come JavaScript segua i Principi orientati agli oggetti prendendo alcuni esempi:

incapsulamento:

L'idea dell'incapsulamento è che i dati di un oggetto non dovrebbero essere accessibili direttamente, ma dovrebbero essere accessibili tramite alcuni metodi. Ma in JavaScript, non esiste un concetto di classe e di oggetti che implementa l'incapsulamento in due modi: Funzione Scopo e Chiusura

1) Ambito di applicazione:

Questo non è altro che dichiarare le variabili all'interno delle funzioni. Pertanto, l'ambito delle variabili sarà limitato solo alle funzioni e altri oggetti non potranno accedere alle variabili. Facciamo un esempio per dimostrare l'ambito della funzione.

test di funzionalita()
(
var value = "Hello!";
alert (valore) // “Ciao!”;
)
avviso (valore) // errore; il valore non è disponibile al di fuori della funzione.

2) Chiusure:

La chiusura è un ambito interno che ha accesso alle variabili dichiarate al di fuori del suo blocco, anche dopo che tali variabili sono cadute dall'ambito. Sebbene i metodi di un oggetto non possano accedere alle altre variabili locali, un oggetto interno ha accesso alle variabili della sua funzione padre. Facciamo un esempio per capirlo.

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

Quindi, in questo modo, possiamo dichiarare oggetti interni o metodi per nascondere i dati e questi sono accessibili usando oggetti padre.

Eredità:

JavaScript supporta l'ereditarietà attraverso il concetto chiamato ereditarietà prototipale che consente all'oggetto JavaScript di acquisire tutte o alcune delle funzionalità da altri oggetti o oggetti padre.

1) prototipo:

JavaScript è descritto come linguaggio basato su prototipo, per fornire un oggetto ereditarietà può avere un oggetto prototipo che eredita metodi e proprietà da altri oggetti. Un oggetto prototipo oggetto può anche avere un oggetto prototipo che eredita metodi e proprietà dal suo oggetto padre e così via, questo si chiama catena prototipo.

L'immagine sopra mostra tutte le proprietà dell'oggetto "animale" che viene creato. Pertanto, il "nome" e il "tipo" sono le proprietà di un oggetto "animale" e le proprietà come valueOf, toString, toLocaleString, ecc. Sono le proprietà di un oggetto genitore ereditato da un oggetto animale. Fare riferimento all'immagine seguente che mostra le proprietà dell'oggetto padre usando la proprietà proto.

Polimorfismo:

Poly significa "molti", il morfismo significa "forme", il polimorfismo non è altro che avere forme diverse. Nel JavaScript il polimorfismo è ottenuto da sottotipi generici, di sovraccarico e strutturali.

1) Generici (polimorfismo parametrico):

Questo dice che il tipo di variabile non ha alcuna importanza, sono intercambiabili. Una funzione che definisce uno o più parametri del tipo polimorfico parametrico non deve sapere nulla dei tipi, dovrebbe trattarli tutti allo stesso modo perché può adattarsi a qualsiasi tipo. Fare riferimento all'esempio seguente

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

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

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

2) Sovraccarico (polimorfismo ad hoc):

Il sovraccarico in JavaScript si ottiene utilizzando il polimorfismo as hoc. Il polimorfismo ad hoc è un tipo di polimorfismo in cui le funzioni polimorfiche possono essere applicate ad argomenti di diversi tipi perché le funzioni polimorfiche possono indicare il numero di implementazioni eterogenee distinte a seconda dei tipi di argomenti. Fare riferimento all'esempio sotto riportato

L'operatore "+" viene utilizzato per diversi modi come l'aggiunta di numeri, la concatenazione di stringhe ecc.

1 + 2 = 3

1, 2 + 2, 3 = 3, 5

"Java" + "Script" = "JavaScript"

3) Sottotipizzazione strutturale (polimorfismo strutturale):

Il polimorfismo strutturale afferma che tipi diversi sono equivalenti, ad esempio se un tipo ha tutte le proprietà dell'altro tipo insieme ad alcune proprietà aggiuntive (seguendo la stessa struttura)

Peso costante = (valore: 100, dati: vero)

Velocità costante = (valore: 200, dati: falso, foo: (1, 2, 3))

La velocità è considerata un sottotipo di peso.

Conclusione: Javascript è orientato agli oggetti?

Come abbiamo discusso su Javascript è orientato agli oggetti, quindi ora possiamo concludere che JavaScript è un linguaggio orientato agli oggetti. Sebbene non abbia classi reali, è comunque un linguaggio orientato agli oggetti perché segue i concetti fondamentali dei principi orientati agli oggetti. Pertanto, un linguaggio può essere orientato agli oggetti se supporta oggetti anche senza classi.

Articoli consigliati

Questa è stata una guida a Is Javascript Object Oriented. Qui abbiamo discusso i concetti di base e le caratteristiche di Javascript e orientato agli oggetti. Puoi anche consultare i seguenti articoli:

  1. JavaScript vs VBScript
  2. Usi di JavaScript
  3. JavaScript vs AngularJS
  4. JavaScript vs Node JS
  5. Guida completa agli oggetti in Java
  6. Oggetto in Python
  7. Esempi e come funzionano i generici in C #

Categoria: