In quale anno Brendan Eich ha creato JavaScript presso Netscape?
Risposta : 1995
Brendan Eich ha ideato JavaScript nel 1995 presso Netscape, in circa dieci giorni. Il linguaggio non ha alcun legame di parentela con Java, nonostante il nome.
Ripassa JavaScript e TypeScript: ecco una selezione di domande di ogni livello, con risposta e spiegazione. Per metterti alla prova senza vedere le risposte, gioca ai quiz.
Gioca ai quiz JavaScript e TypeScriptRisposta : 1995
Brendan Eich ha ideato JavaScript nel 1995 presso Netscape, in circa dieci giorni. Il linguaggio non ha alcun legame di parentela con Java, nonostante il nome.
Risposta : let
let dichiara una variabile con ambito di blocco, riassegnabile. const impedisce la riassegnazione, e var ha un ambito di funzione.
Risposta : string
L'operatore typeof restituisce una stringa che descrive il tipo del valore: per una stringa di caratteri il risultato è string.
Risposta : true
L'operatore == confronta dopo una conversione: '0' diventa il numero 0. Con === anche i tipi devono essere identici, e il risultato sarebbe false.
Risposta : length
La proprietà length fornisce il numero di elementi di un array: [1, 2, 3].length vale 3.
Risposta : querySelector
querySelector accetta qualsiasi selettore CSS e restituisce il primo elemento trovato, oppure null se nessuno corrisponde.
Risposta : Registrare una funzione richiamata quando si verifica un evento
addEventListener associa una funzione a un elemento per un tipo di evento, come un clic. La funzione viene richiamata ogni volta che l'evento si verifica.
Risposta : JSON.stringify
JSON.stringify trasforma un valore JavaScript in testo JSON; JSON.parse fa l'operazione inversa.
Risposta : ES6 (ECMAScript 2015)
ES6, pubblicato nel 2015, ha introdotto let e const, le funzioni freccia e le classi.
Risposta : undefined
Con var la dichiarazione viene sollevata (hoisting), ma non l'assegnazione: x esiste già, con valore undefined. Con let, lo stesso accesso solleva un ReferenceError.
Risposta : Quello della funzione che la contiene, definito nel punto in cui la funzione è scritta
Una funzione freccia non ha un this proprio: riprende quello del punto in cui è definita.
Risposta : Una funzione che conserva l'accesso alle variabili dell'ambito in cui è stata creata
Una closure conserva l'accesso alle variabili della funzione che la contiene, anche dopo che quest'ultima ha terminato la sua esecuzione.
Risposta : undefined
undefined è il valore di una variabile dichiarata senza assegnazione. null rappresenta un'assenza di valore scelta esplicitamente dal programmatore.
Risposta : [2, 4]
filter conserva gli elementi per cui la funzione restituisce true: qui i numeri pari.
Risposta : Una promise che sarà risolta con il valore 10
Il valore risolto del then è il risultato della funzione di callback: qui 5 moltiplicato per 2, cioè 10.
Risposta : Sempre una promise
Una funzione async restituisce sempre una promise: il valore di return viene incapsulato, e un'eccezione diventa un rifiuto.
Risposta : 2012
TypeScript, guidato da Anders Hejlsberg, è pubblicato da Microsoft nell'ottobre 2012: è un superset tipizzato di JavaScript.
Risposta : Un valore unknown va verificato prima dell'uso, mentre any disattiva questo controllo
any disattiva il controllo dei tipi sul valore. unknown obbliga a restringere il tipo prima di qualsiasi uso, il che protegge il codice.
Risposta : Conserva il tipo dell'argomento ricevuto e lo restituisce così com'è
T è una variabile di tipo: TypeScript la deduce dall'argomento a ogni chiamata, il che conserva il tipo preciso del risultato.
Risposta : In base alla struttura: conta ciò che l'oggetto possiede, non il nome dichiarato
TypeScript è strutturale: un oggetto è compatibile se possiede le proprietà attese con i tipi giusti, anche senza una dichiarazione esplicita.
Risposta : La coda delle microtask, come le promise
I callback delle promise formano la coda delle microtask, che l'event loop svuota interamente tra due task. Le macrotask, come setTimeout, vengono trattate una alla volta.
Risposta : Nel prototipo dell'oggetto, poi nella catena dei prototipi
La ricerca risale la catena dei prototipi. Se la proprietà non esiste da nessuna parte, il valore letto è undefined, senza errore.
Risposta : strict
strict: true attiva in particolare strictNullChecks e noImplicitAny. Ciascuna di queste opzioni può essere impostata anche separatamente.
Risposta : npm
npm legge il file package.json e installa le dipendenze nella cartella node_modules.
Gioca ai quiz JavaScript e TypeScript