Generato in italiano con l'IA a partire dal nostro quiz inglese; le fonti rimandano a Wikipedia in italiano.
JavaScript è il linguaggio che anima il web: nato in Netscape come Mocha e poi LiveScript, oggi gira nei browser e sui server grazie a Node.js. Questo quiz ripercorre la sua storia e i suoi meccanismi: lo standard ECMAScript, l'ereditarietà per prototipi, gli array sparsi, gli eventi del mouse e della tastiera, la gestione degli errori. Chiude una sezione su Node.js: il motore V8, Ryan Dahl, il fork io.js e la OpenJS Foundation.
Tutte le 30 domande con risposte e spiegazioni. Gioca al quiz
Q 01Con quale istruzione una funzione JavaScript restituisce un valore?
return
Una funzione è un blocco di istruzioni con una lista di argomenti, eventualmente vuota, e un nome facoltativo.
Q 02Quale operatore concatena le stringhe in JavaScript?
+
Per scrivere direttamente nella pagina in cui si trova lo script si usa il metodo document.write().
Q 03Quale comando dichiara in JavaScript una variabile che non può essere modificata?
const
Le variabili dichiarate fuori da qualunque funzione sono globali, accessibili dall'intera pagina web.
Q 04Come si chiamano le interfacce che consentono a JavaScript di rapportarsi con un browser?
DOM
Un browser moderno incorpora normalmente un interprete JavaScript, che esegue il codice delle pagine visitate.
Q 05Qual è una delle librerie più diffuse per semplificare la scrittura di script nelle pagine HTML o PHP?
jQuery
Librerie e framework nascono per far funzionare lo stesso codice indipendentemente dal browser usato dall'utente finale.
Q 06Chi sviluppò originariamente JavaScript alla Netscape Communications?
Brendan Eich
Il linguaggio si chiamò prima Mocha, poi fu formalizzato con una sintassi più vicina a quella del Java di Sun Microsystems.
Q 07In quale formato di file Adobe Acrobat e Adobe Reader supportano JavaScript?
Anche la piattaforma Mozilla usa JavaScript per implementare l'interfaccia utente dei suoi prodotti.
Q 08Quale proprietà di un array JavaScript è garantita essere sempre maggiore dell'indice più grande usato?
length
Scrivere in quella proprietà un numero più piccolo rimuove gli indici più grandi: è l'unica caratteristica che distingue i vettori dagli altri oggetti.
Q 09Quale funzione valuta le espressioni JavaScript contenute in una stringa?
eval
Tra le altre caratteristiche degne di nota, il linguaggio può usare caratteri Unicode.
Q 10Su cosa si basa l'orientamento a oggetti di JavaScript, che non ha classi?
Prototipi
L'eredità avviene fra oggetti: ognuno eredita le proprietà dal proprio prototipo, accessibile tramite la proprietà prototype del costruttore.
Q 11Come si chiama il linguaggio compatibile con JavaScript sviluppato da Microsoft?
JScript
Fu la necessità di specifiche comuni tra i due linguaggi a dare origine allo standard ECMA 262.
Q 12Quale tecnologia ha superato in buona parte i limiti di JavaScript nell'accesso a dati remoti?
AJAX
Prima, ogni accesso a una base di dati remota richiedeva un altro linguaggio e un nuovo caricamento della pagina.
Q 13Come si chiamano le piccole sezioni di codice JavaScript salvate nei segnalibri del browser?
Bookmarklet
Funzionano dai Preferiti del browser e sono considerati uno degli usi più recenti del linguaggio.
Q 21Se un array ha elementi solo agli indici 10 e 57, quale lunghezza riporta JavaScript?
58
Gli array sono «vettori sparsi»: solo gli elementi definiti occupano memoria, come per ogni altro oggetto.
Q 22Gli oggetti JavaScript ricordano gli array associativi di quale linguaggio?
Perl
Somigliano molto meno agli oggetti di Java o C++: gli object model dei due linguaggi sono notevolmente incompatibili.
Q 23Come si chiama la particolarità della valutazione delle espressioni logiche sfruttata dall'operatore &&?
Lazy evaluation
Grazie a questo comportamento document.body.style non viene mai chiamato se document.body non esiste.
Q 14In quale anno JavaScript fu standardizzato per la prima volta dalla ECMA con il nome ECMAScript?
1997
L'edizione 13 dello standard ECMA-262, di giugno 2022, è anche uno standard ISO (ISO/IEC 16262).
Q 15Quale ciclo JavaScript percorre tutte le proprietà di un oggetto?
for ... in
Il ciclo gemello con «of» percorre invece i valori di un oggetto o gli elementi di un vettore.
Q 16Qual è il tipo MIME standard per il codice sorgente JavaScript?
application/javascript
Nella pratica è più usata la variante text/javascript, anche se non è standard.
Q 17Quale evento attiva in successione onmousedown, onmouseup e onclick?
Il doppio click
Il gestore corrispondente è onDblClick; onMouseDown e onMouseUp rispondono al tasto sinistro del mouse.
Q 18Quale nome aveva JavaScript subito prima di essere rinominato, mentre Netscape integrava Java nel Navigator?
LiveScript
La scelta del nuovo nome generò grande confusione: tra Java e JavaScript le somiglianze sono quasi solo sintattiche, derivate in entrambi i casi dal C.
Q 19Di quale tipo di oggetto base è istanza ogni funzione JavaScript?
Function
Le funzioni possono essere create e assegnate come ogni altro oggetto, anche con un costruttore che riceve il codice come stringa.
Q 20Come si chiama la tecnica che gestisce le incompatibilità verificando l'esistenza della proprietà di un oggetto?
Object detection
L'alternativa storica era il browser sniffing, diventato una complicata forma d'arte quando Internet Explorer iniziò a dissimulare le proprie informazioni.
Q 24Quale tecnologia Microsoft supporta JavaScript come linguaggio di scripting per i sistemi operativi?
Windows Script Host
Il supporto passa attraverso l'implementazione Microsoft del linguaggio, non attraverso JavaScript in senso stretto.
Q 25Con quale browser i dialog box JavaScript non funzionano, senza generare alcun errore?
Opera
Le finestre di avviso, conferma e richiesta input sono tra le tecniche classiche con cui uno script interagisce con l'utente.
Q 26A quali linguaggi somiglia di più il meccanismo di ereditarietà di JavaScript?
Self e NewtonScript
JavaScript è solo debolmente orientato agli oggetti, al contrario di Java, che lo è fortemente.
Q 27In quale mese e anno iniziò il lavoro sullo standard ECMA 262?
Novembre 1996
Da allora sono state pubblicate otto edizioni dello standard, nato per dare specifiche comuni a implementazioni rivali.
Q 28A quale linguaggio di scripting JSOSA (JavaScript for OSA) è stato proposto come alternativa?
AppleScript
JSOSA è un componente freeware di Late Night Software per Macintosh, basato sull'implementazione JavaScript 1.5 di Mozilla.
Q 29Da quale versione di Netscape Navigator è supportata la valutazione delle espressioni regolari?
4
Le espressioni regolari arrivarono con JavaScript 1.2 e, lato Microsoft, con Internet Explorer 4.
Q 30Quale proprietà del vettore arguments rappresenta un puntatore alla funzione stessa?
callee
Il numero di argomenti passati a una chiamata non deve necessariamente coincidere con quello della definizione della funzione.