JavaScript

JavaScript è un linguaggio di programmazione multi paradigma orientato agli eventi, utilizzato sia nella programmazione lato client web sia lato server (Node.js) per la creazione di RESTful API, applicazioni desktop ed embedded, siti web e applicazioni web, di effetti dinamici interattivi…

JavaScript è un linguaggio di programmazione multi paradigma orientato agli eventi, utilizzato sia nella programmazione lato client web sia lato server (Node.js) per la creazione di RESTful API, applicazioni desktop ed embedded, siti web e applicazioni web, di effetti dinamici interattivi tramite funzioni di script invocate da eventi innescati a loro volta in vari modi dall'utente sulla pagina web in uso (mouse, tastiera, caricamento della pagina ecc...).

Originariamente sviluppato da Brendan Eich della Netscape Communications con il nome di Mocha e successivamente di LiveScript, in seguito è stato rinominato "JavaScript" ed è stato formalizzato con una sintassi più vicina a quella del linguaggio Java di Sun Microsystems (che nel 2010 è stata acquistata da Oracle). Standardizzato per la prima volta il 1997 dalla ECMA con il nome ECMAScript, l'ultimo standard, di giugno 2022, è ECMA-262 Edition 13 ed è anche uno standard ISO (ISO/IEC 16262).

Descrizione

Le funzioni di script, utilizzati dunque nella logica di presentazione, possono essere opportunamente inserite in file HTML, in pagine JSP o in appositi file separati con estensione .js poi richiamati nella logica di business. Ultimamente il suo campo di utilizzo è stato esteso alle cosiddette Hybrid App (app ibride), con le quali è possibile creare app per più sistemi operativi utilizzando un unico codice sorgente basato appunto su JavaScript, HTML e CSS.

Java, JavaScript e JScript

Il cambio di nome da LiveScript a JavaScript si ebbe più o meno nel periodo in cui Netscape stava includendo il supporto per la tecnologia Java nel suo browser Netscape Navigator. La scelta del nome si rivelò fonte di grande confusione. Non c'è una vera relazione tra Java e JavaScript; le loro somiglianze sono soprattutto nella sintassi (derivata in entrambi i casi dal linguaggio C); le loro semantiche sono piuttosto diverse e in particolare i loro object model non hanno relazione e sono notevolmente incompatibili.

Dato il successo di JavaScript come linguaggio per arricchire le pagine web, Microsoft sviluppò un linguaggio compatibile, conosciuto come JScript. La necessità di specifiche comuni fu alla base dello standard ECMA 262 per ECMAScript, di cui sono state pubblicate otto edizioni da quando il lavoro iniziò, nel novembre 1996.

Aspetti strutturali

Le caratteristiche principali di JavaScript sono:

essere un linguaggio interpretato: il codice non viene compilato, ma eseguito direttamente; in JavaScript lato client, il codice viene eseguito dall'interprete contenuto nel browser dell'utente.

la sintassi è relativamente simile a quella dei linguaggi C, C++ e Java.

definisce le funzionalità tipiche dei linguaggi di programmazione ad alto livello (strutture di controllo, cicli, ecc.) e consente l'utilizzo del paradigma object oriented.

è un linguaggio debolmente tipizzato.

è un linguaggio debolmente orientato agli oggetti. Ad esempio, il meccanismo dell'ereditarietà è più simile a quello del Self e del NewtonScript che a quello del linguaggio Java, fortemente orientato agli oggetti. Gli oggetti stessi ricordano più gli array associativi del linguaggio Perl che gli oggetti di Java o C++.

Altri aspetti di interesse: in JavaScript lato client, il codice viene eseguito direttamente sul client e non sul server. Il vantaggio di questo approccio è che, anche con la presenza di script particolarmente complessi, il web server non rischia sovraccarichi, dato che il lavoro viene svolto dal client. Un rovescio della medaglia è che, nel caso di script particolarmente grandi, il tempo per il trasferimento dalla rete può diventare eccessivamente lungo. Inoltre ogni informazione che presuppone un accesso a dati memorizzati in una base di dati remota deve essere rimandata a un linguaggio che effettui materialmente la transazione, per poi restituire i risultati a una o più variabili JavaScript; operazioni del genere richiedono un nuovo caricamento della pagina stessa. Questi limiti sono però stati superati in buona parte con la nascita di AJAX.

Alcune altre caratteristiche di JavaScript degne di nota:

Può usare caratteri Unicode

Può valutare le espressioni regolari (introdotte nella versione 1.2; supporto da parte dei browser: a partire da Netscape Navigator 4 e Internet Explorer 4)

Le espressioni JavaScript contenute in una stringa possono essere valutate usando la funzione eval.

Video: The different types of JavaScript functions explained — Kevin Powell — CC BY 3.0 — Wikimedia Commons

Servizi correlati

Altre voci

PhpMyAdminP

PhpMyAdmin

phpMyAdmin è un'applicazione web scritta in PHP, distribuita con licenza GPL, che consente di amministrare un database MySQL o MariaDB tramite un qualsiasi browser. L'applicazione è indirizzata sia agli amministratori del database, sia agli utenti. Gestisce i permessi prelevandoli dal database.

Leggi la voce →
A

AJAX

In informatica AJAX, acronimo di Asynchronous JavaScript and XML, è un insieme di tecniche e metodologie di sviluppo software per la realizzazione di applicazioni web interattive (Rich Internet Application), basandosi su uno scambio di dati in background fra web browser e server, consentendo…

Leggi la voce →
B

Bianco

Il bianco è un colore con luminosità ma senza tinta (per cui è detto "colore acromatico"). Più precisamente è dato dalla sintesi additiva di tutti i colori dello spettro visibile (o di tre colori primari, ad esempio rosso, verde e blu oppure ciano, magenta e giallo). Da questo punto di vista,…

Leggi la voce →
E

Elemento HTML

Un elemento HTML, in informatica, spesso chiamato anche tag HTML, indica una struttura in un documento HTML e un metodo per ordinare gerarchicamente i contenuti. Più specificamente è un elemento SGML che soddisfa i requisiti di uno o più DTD HTML.

Leggi la voce →
C

CSS Animations

CSS Animations è un modulo proposto per i CSS, che consente l'animazione di elementi XML utilizzando direttamente i CSS.

Leggi la voce →
T

TMZ (sito web)

TMZ è un sito web di gossip e notizie sullo spettacolo, lanciato l'8 novembre 2005. Nato come collaborazione tra America Online (AOL) e Telepictures Productions (divisione della Warner Bros.), è rimasto legato a tale gruppo societario fino a quando la Time Warner ha dismesso AOL nel 2009. Il 13…

Leggi la voce →