{"id":46711,"date":"2021-08-06T12:25:59","date_gmt":"2021-08-06T10:25:59","guid":{"rendered":"https:\/\/kinsta.com\/?post_type=knowledgebase&#038;p=98008"},"modified":"2025-10-01T20:48:40","modified_gmt":"2025-10-01T19:48:40","slug":"cosa-e-javascript","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/","title":{"rendered":"Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web"},"content":{"rendered":"<p>Chi non si \u00e8 mai trovato di fronte la richiesta di aggiornare Java tentando di accedere a certi siti web?<\/p>\n<p>Anche se molti conoscono Java per le caratteristiche interattive che permette di aggiungere ai siti web, gli utenti potrebbero avere meno familiarit\u00e0 con JavaScript &#8211; o, in effetti, potrebbero erroneamente considerare i due linguaggi come la stessa cosa.<\/p>\n<p>In questo articolo spieghiamo cos&#8217;\u00e8 JavaScript e quali sono le differenze tra Java e JavaScript. Poi offriremo una panoramica di alcune delle funzionalit\u00e0 JavaScript pi\u00f9 significative.<\/p>\n<p>Cominciamo!<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h3>Guarda la nostra <a href=\"https:\/\/www.youtube.com\/watch?v=vCWs3oBHLe8\">video guida<\/a> a JavaScript<\/h3>\n<kinsta-video src=\"https:\/\/www.youtube.com\/watch?v=vCWs3oBHLe8\"><\/kinsta-video>\n<h2>Cos&#8217;\u00e8 JavaScript?<\/h2>\n<p>Pi\u00f9 semplicemente, JavaScript <a href=\"https:\/\/kinsta.com\/it\/blog\/linguaggi-di-scripting\/\">\u00e8 un popolare linguaggio di scripting<\/a> che consente di aggiungere funzionalit\u00e0 interattive e altri contenuti dinamici alle pagine web. Esempi ben noti di contenuti JavaScript sono moduli compilabili, slideshow di gallerie fotografiche e grafica animata.<\/p>\n<p>JavaScript \u00e8 anche relativamente intuitivo e semplice da imparare. \u00c8 un eccellente punto di partenza per chi cerca di sapere di pi\u00f9 sullo sviluppo dei siti web.<\/p>\n<p>JavaScript \u00e8 lo strato finale di funzionalit\u00e0 dei siti web altamente interattivi. L&#8217;<a href=\"https:\/\/kinsta.com\/it\/blog\/html-e-html5\/\">HTML<\/a> fornisce la struttura di base della pagina. Il <a href=\"https:\/\/kinsta.com\/it\/blog\/wordpress-css\/#what-is-css-editing\">CSS<\/a> rende i siti alla moda &#8211; ne stabilisce lo stile. JavaScript aggiunge il divertimento.<\/p>\n<p>Quando si apprende JavaScript, \u00e8 essenziale capire la relazione tra HTML, CSS e JavaScript e come si uniscono nella visualizzazione di un sito web.<\/p>\n<h2>A Cosa Serve JavaScript<\/h2>\n<p>JavaScript <a href=\"https:\/\/www.learnacademy.org\/blog\/javascript-used-for\/\">ha varie applicazioni<\/a> che chiunque abbia visitato pagine web interattive o applicazioni mobili avr\u00e0 probabilmente conosciuto. Anche se JavaScript \u00e8 utilizzato tradizionalmente per lo sviluppo di siti web, compresa l&#8217;aggiunta di elementi come moduli interattivi e animazioni, trova impiego anche in:<\/p>\n<ul>\n<li><strong>Giochi basati su browser web <\/strong>&#8211; sia giochi 2D che 3D<\/li>\n<li><strong>Sviluppo di applicazioni mobili <\/strong>&#8211; vantaggioso perch\u00e9 \u00e8 agnostico rispetto alle piattaforme mobili<\/li>\n<li><strong>Presentazioni <\/strong>&#8211; ad esempio, la creazione di diapositive animate basate sul web<\/li>\n<\/ul>\n<p>Anche se la maggior parte delle applicazioni JavaScript sono lato client, JavaScript \u00e8 utile anche nelle applicazioni lato server, come la creazione di server web.<\/p>\n<figure style=\"width: 1024px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/07\/dinosaur-gameover-1024x358.png\" alt=\"The Dinosaur Game, un esempio di un gioco integrato nel browser creato utilizzando JavaScript\" width=\"1024\" height=\"358\"><figcaption class=\"wp-caption-text\">The Dinosaur Game, un esempio di un gioco integrato nel browser creato utilizzando JavaScript<\/figcaption><\/figure>\n<h2>Differenze tra Java e JavaScript<\/h2>\n<p>Innanzitutto, \u00e8 bene precisare che Java e JavaScript non sono correlati, nonostante condividano il termine &#8220;Java&#8221;. Sia Java che JavaScript sono linguaggi nati per sviluppare pagine e applicazioni web. Tuttavia, hanno differenze distintive, tra cui:<\/p>\n<ul>\n<li><strong>Programmazione orientata agli oggetti: <\/strong>Java \u00e8 un <a href=\"https:\/\/kinsta.com\/it\/blog\/programmazione-orientata-agli-oggetti-python\/\">linguaggio di programmazione orientato agli oggetti<\/a>. JavaScript \u00e8 un linguaggio di scripting basato sugli oggetti.<\/li>\n<li><strong>Sintassi:<\/strong> La sintassi di JavaScript non \u00e8 cos\u00ec formale o strutturata come quella di Java. Quindi, \u00e8 pi\u00f9 semplice per la maggior parte degli utenti.<\/li>\n<li><strong>Compilazione:<\/strong> Java \u00e8 un linguaggio compilato, mentre JavaScript \u00e8 un linguaggio interpretato, che viene interpretato linea per linea in fase di esecuzione; i linguaggi compilati tendono ad essere pi\u00f9 veloci, ma i linguaggi interpretati tendono ad essere pi\u00f9 flessibili.<\/li>\n<li><strong>Ambiente: <\/strong>\u00c8 possibile utilizzare le applicazioni Java essenzialmente in qualsiasi ambiente, eseguendole in macchine virtuali o in <a href=\"https:\/\/kinsta.com\/it\/mercato-globale-dei-browser\/\">browser<\/a>; JavaScript \u00e8 solo per i browser.<\/li>\n<li><strong>Utilizzo della memoria: <\/strong>Java <a href=\"https:\/\/towardsdatascience.com\/java-vs-javascript-which-is-the-best-choice-for-2019-a41ee2d3f78d\">richiede pi\u00f9 memoria<\/a> di JavaScript; questo rende JavaScript preferibile per le pagine e le applicazioni web<\/li>\n<\/ul>\n<h2>JavaScript \u00e8 Sicuro?<\/h2>\n<p>Anche se JavaScript \u00e8 ampiamente accettato e utilizzato per lo sviluppo web, presenta delle vulnerabilit\u00e0 ben note. Uno dei pi\u00f9 comuni attacchi informatici introdotti attraverso le vulnerabilit\u00e0 di JavaScript \u00e8 l&#8217;attacco cross-site scripting (XSS). I criminali informatici ricorrono agli attacchi XSS per ottenere accesso e rubare informazioni sull&#8217;identit\u00e0.<\/p>\n<p>Per ridurre al minimo gli exploit, \u00e8 fondamentale <a href=\"https:\/\/kinsta.com\/it\/blog\/strumenti-di-revisione-del-codice\/\">testare e rivedere il codice<\/a> durante lo sviluppo. I metodi di testing come il test di sicurezza statico e dinamico delle applicazioni (SAST e DAST) aiutano a identificare le vulnerabilit\u00e0 in tutti i punti del ciclo di vita dello sviluppo del software.<\/p>\n<p>Secondo gli analisti della sicurezza di <a href=\"https:\/\/www.clouddefense.ai\/sast-static-application-security-testing\">Cloud Defense<\/a>, SAST controlla il vostro codice per verificare che non violi le regole di sicurezza e confronta le vulnerabilit\u00e0 trovate tra il branch sorgente e quello di destinazione. Riceverete una notifica se le dipendenze del vostro progetto sono affette da vulnerabilit\u00e0.<\/p>\n<h2>Vanilla JavaScript<\/h2>\n<p>Vanilla JavaScript \u00e8 un&#8217;implementazione leggera del linguaggio JavaScript puro senza l&#8217;aggiunta di librerie. Il termine &#8220;vaniglia&#8221; si riferisce a JavaScript non personalizzato.<\/p>\n<p>Molte grandi aziende usano <a href=\"http:\/\/vanilla-js.com\/\">Vanilla JS<\/a>, tra cui Google, Microsoft, Apple, Amazon e altre. Vanilla JavaScript \u00e8 una strada eccellente per <a href=\"https:\/\/kinsta.com\/it\/blog\/miglior-linguaggio-di-programmazione\/#javascript\">imparare le basi della programmazione JavaScript<\/a> prima di legarsi alle funzionalit\u00e0 pi\u00f9 avanzate offerte nelle librerie.<\/p>\n<h2>Librerie JavaScript<\/h2>\n<p>Una libreria JavaScript \u00e8 una raccolta di codice pre-scritto che esegue determinate funzioni. Le librerie permettono anche agli utenti inesperti di costruire rapidamente siti web utili e fanno risparmiare un tempo significativo nella costruzione di siti e applicazioni sia agli utenti principianti che a quelli esperti.<\/p>\n<p>Anche se ci sono <a href=\"https:\/\/kinsta.com\/it\/blog\/librerie-javascript\/\">molte librerie JavaScript<\/a>, alcune delle pi\u00f9 popolari sono jQuery, Anime.js, Animate on Scroll e Leaflet.js.<\/p>\n<h2>Come si Relaziona JavaScript con i Framework dei Siti Web<\/h2>\n<p>I framework per siti web sono site builder avanzati, normalmente con ampie librerie di funzionalit\u00e0 pre-costruite e suite di testing. Potreste avere familiarit\u00e0 con framework lato server come <a href=\"https:\/\/kinsta.com\/it\/blog\/framework-laravel\/\">Laravel<\/a>, Ruby on Rails o Django. Ma ci sono anche diversi framework popolari basati su JavaScript lato client, tra cui React.js, Vue.js e <a href=\"https:\/\/kinsta.com\/it\/blog\/node-js\/\">Node.js<\/a>.<\/p>\n<figure style=\"width: 900px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/06\/reactjs2.jpg\" alt=\"Libreria React\" width=\"900\" height=\"449\"><figcaption class=\"wp-caption-text\">Libreria React (Fonte immagine: Betica)<\/figcaption><\/figure>\n<h2>Il DOM di JavaScript<\/h2>\n<p>Il DOM, o Document Object Model, agisce come interfaccia tra un linguaggio di programmazione come JavaScript e un documento sottostante &#8211; in particolare, documenti HTML e XML.<\/p>\n<p>DOM \u00e8 uno <a href=\"https:\/\/www.w3.org\/TR\/DOM-Requirements\/\">standard del W3C (World Wide Web Consortium)<\/a>, definito come &#8220;un&#8217;interfaccia indipendente dalla piattaforma e dal linguaggio che permette a programmi e script di accedere dinamicamente e aggiornare il contenuto, la struttura e lo stile di un documento&#8221;. I documenti consistono in un insieme di singoli elementi e propriet\u00e0 (<a href=\"https:\/\/kinsta.com\/it\/blog\/migliori-editor-di-testo\/\">testo<\/a>, pulsanti, link, ecc.).<\/p>\n<h2>Componenti di Base di JavaScript<\/h2>\n<p>Come per altri <a href=\"https:\/\/kinsta.com\/it\/blog\/miglior-linguaggio-di-programmazione\/\">linguaggi di programmazione<\/a>, JavaScript usa le variabili per identificare le posizioni in cui vengono memorizzati i dati. Le variabili possono essere globali (accessibili da qualsiasi funzione nel codice) o locali, note anche come block-scoped (accessibili solo nel blocco in cui sono dichiarate).<\/p>\n<p>Le variabili possono contenere sia valori fissi (costanti note come literal) che valori modificabili. JavaScript ha una sintassi particolare per dichiarare (creare) costanti e variabili, e assegnare loro dei valori.<\/p>\n<h3>Dichiarare una Costante<\/h3>\n<p>Le costanti vere sono create <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Statements\/const\">utilizzando la dichiarazione <code>const<\/code><\/a>. <code>Const<\/code> crea delle costanti di sola lettura, immutabili e con un block-scoped (&#8220;block-scoped&#8221; significa che la costante non \u00e8 accessibile dall&#8217;esterno del suo blocco dichiarato).<\/p>\n<p>Un esempio di utilizzo di <code>const<\/code> per creare una costante \u00e8:<\/p>\n<pre><code class=\"language-javascript\">const GOLDEN_RATIO = 1.618; \/\/ create a constant named GOLDEN_RATIO with value 1.618<\/code><\/pre>\n<p>Notate l&#8217;uso di lettere maiuscole per nominare la costante; questa \u00e8 una convenzione di denominazione comunemente accettata, sebbene non sia obbligatoria. I nomi delle variabili, inclusi quelli delle costanti, devono iniziare con una lettera (minuscola o maiuscola), il carattere di sottolineatura (<code>_<\/code>) o il simbolo del dollaro (<code>$<\/code>). Sono sensibili alle maiuscole e alle minuscole, quindi attenti a ricordare i nomi che assegnate alle vostre variabili.<\/p>\n<p>Alle costanti, a differenza delle variabili, deve essere assegnato un valore al momento della creazione. La seguente dichiarazione restituir\u00e0 un errore:<\/p>\n<pre><code class=\"language-javascript\">const GOLDEN_RATIO;<\/code><\/pre>\n<h3>Dichiarare una Variabile<\/h3>\n<p>Le variabili sono dichiarate <a href=\"https:\/\/www.codejava.net\/java-core\/the-java-language\/var-keyword-in-java\">utilizzando la parola chiave <code>var<\/code><\/a>. Non \u00e8 necessario che abbiano un valore assegnato al momento della dichiarazione, anche se \u00e8 permesso farlo e viene fatto spesso. La parola chiave <code>var<\/code> ha uno scopo globale piuttosto che di blocco (a meno che non sia in una funzione, allora ha uno scopo di funzione).<\/p>\n<pre><code class=\"language-javascript\">var variable1; \/\/ declare a variable called variable1\n\nvar variable2 = \"2021\"; \/\/ declare a string variable called variable2 and initialize with value 2021\n\nvariable1 = \"Thank goodness it's\" \/\/ assign string value to previously declared variable variable1\n\nconsole.log(variable1 + \" \" + variable2); \/\/ display \"Thank goodness it's 2021\"<\/code><\/pre>\n<p>Notate che le dichiarazioni in JavaScript devono finire con un punto e virgola. Potete creare commenti utilizzando <code>\/\/<\/code> &#8211; JavaScript ignora qualsiasi cosa tra <code>\/\/<\/code> e la fine della linea.<\/p>\n<p>Le variabili possono contenere una variet\u00e0 di tipi di dati, tra cui numeri, stringhe e oggetti. L&#8217;assegnazione delle variabili in JavaScript \u00e8 dinamica. Quindi potete assegnare una variabile ad un diverso tipo di dati nello stesso codice.<\/p>\n<h2>Hoisting<\/h2>\n<p>Ora che avete capito come avviene la <a href=\"https:\/\/scotch.io\/courses\/10-need-to-know-javascript-concepts\/declaring-javascript-variables-var-let-and-const\">dichiarazione delle variabili in JavaScript<\/a>, possiamo vedere come JavaScript si occupa della posizione della dichiarazione delle variabili. La pratica di codifica comunemente accettata richiede di dichiarare le variabili prima o contemporaneamente alla definizione. Alcuni linguaggi di programmazione in realt\u00e0 lo richiedono.<\/p>\n<p>JavaScript, tuttavia, permette alle variabili di essere dichiarate dopo che sono state definite o utilizzate. Usando una caratteristica chiamata hoisting, JavaScript sposta le dichiarazioni all&#8217;inizio dello script o della funzione corrente. Mentre l&#8217;hoisting pu\u00f2 semplificare la programmazione permettendo ad un programmatore di correggere una mancata dichiarazione senza dover scorrere indietro il codice, dichiarare le variabili dopo l&#8217;utilizzo non \u00e8 coerente con le <a href=\"https:\/\/kinsta.com\/it\/blog\/migliori-pratiche-di-web-design\/\">best practice della programmazione<\/a>.<\/p>\n<p>L&#8217;hoisting pu\u00f2 anche causare problemi inaspettati, principalmente perch\u00e9 l&#8217;hoisting si applica solo alla dichiarazione. Se una variabile \u00e8 dichiarata e inizializzata nella stessa dichiarazione, l&#8217;hoisting creer\u00e0 una dichiarazione all&#8217;inizio del blocco e assegner\u00e0 alla variabile un valore non definito. Cos\u00ec, qualsiasi utilizzo della variabile nel blocco prima dell&#8217;effettiva dichiarazione assumer\u00e0 che la variabile sia indefinita piuttosto che avere il valore di inizializzazione.<\/p>\n<p>Usiamo l&#8217;esempio precedente per rivedere il comportamento di hoisting:<\/p>\n<pre><code class=\"language-javascript\">var variable_1 = \"Thank goodness it's\"; \/\/ declare and initialize a string variable called variable_1\n\nconsole.log(variable_1 + \" \" + variable_2); \/\/\n\nvar variable_2 = \"2021\" \/\/ declare and initialize a string variable called variable2<\/code><\/pre>\n<p>Mentre l&#8217;hoisting sposta la dichiarazione <code>variabile_2<\/code> all&#8217;inizio del blocco, non sposta il valore assegnato. Questa logica funziona in modo approssimativamente equivalente alla seguente sintassi:<\/p>\n<pre><code class=\"language-javascript\">var variable_1 = \"Thank goodness it's\"; \/\/ declare and initialize a string variable called variable_1\n\nvar variable_2;\n\nconsole.log(variable1 + \" \" + variable2); \/\/\n\nvariable_2 = \"2021\" \/\/ assign string value to variable2<\/code><\/pre>\n<p>In entrambi i casi, il valore finale &#8220;Grazie al cielo \u00e8 il 2021&#8221; non fa parte dell&#8217;output.<\/p>\n<p>Vi consigliamo di seguire la best practice di dichiarare le variabili per evitare potenziali problemi e creare un codice pi\u00f9 pulito.<\/p>\n<h2>Oggetti<\/h2>\n<p>JavaScript si <a href=\"https:\/\/javascript.info\/object-methods\">basa sul concetto di oggetti<\/a>. Gli oggetti sono contenitori che possono racchiudere propriet\u00e0, metodi o entrambi.<\/p>\n<p>Ecco un semplice esempio. Avete un oggetto chiamato &#8220;country&#8221;. Le sue propriet\u00e0 includono il nome, il continente, la capitale e la popolazione. Potete creare questo oggetto in diversi modi con JavaScript.<\/p>\n<p>In primo luogo, potete seguire l&#8217;approccio object literal o object initializer:<\/p>\n<pre><code class=\"language-javascript\">var country = {\n\n    name:\"France\",\n\n    continent:\"Europe\",\n\n    capital:\"Paris\",\n\n    population:62250000;\n\n}<\/code><\/pre>\n<p>Potete anche istanziare un oggetto e poi assegnare le sue propriet\u00e0:<\/p>\n<pre><code class=\"language-javascript\">var country = new Object();\n\ncountry.name = \"France\";\n\ncountry.continent = \"Europe\";\n\ncountry.capital = \"Paris\";\n\ncountry.population = 62250000;<\/code><\/pre>\n<p>Notate che vi riferite alle propriet\u00e0 di un oggetto usando la sintassi <code>object.property<\/code>.<\/p>\n<p>Infine, potete creare oggetti usando le funzioni constructor:<\/p>\n<pre><code class=\"language-javascript\">function country(name, continent, capital, population) {\n\n    country.name = name;\n\n    country.continent = continent;\n\n    country.capital = capital;\n\n    country.population = population;\n\n}<\/code><\/pre>\n<p>La creazione di un&#8217;istanza dell&#8217;oggetto verrebbe poi fatta da:<\/p>\n<pre><code class=\"language-javascript\">france = new country(\"France\",\"Europe\",\"Paris\",62250000)<\/code><\/pre>\n<p>Le propriet\u00e0 degli oggetti possono essere variabili o funzioni. Come vedremo pi\u00f9 avanti, quando la propriet\u00e0 di un oggetto \u00e8 una funzione, si chiama metodo.<\/p>\n<h3>Oggetti contro classi<\/h3>\n<p>In breve, una classe \u00e8 un modello di struttura generica per un oggetto. Le classi usano la forma del costruttore per descrivere gli oggetti.<\/p>\n<pre><code class=\"language-javascript\">class country {\n\n    Constructor (name,continent,capital,population) {\n\n        country.name = name;\n\n        country.continent = continent;\n\n        country.capital = capital;\n\n        country.population = population;\n\n    }\n\n}<\/code><\/pre>\n<p>Proprio come gli oggetti, le classi possono avere dei metodi.<\/p>\n<h2>Lavorare con Costanti e Variabili<\/h2>\n<p>Come per altri linguaggi, JavaScript <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Operators\" target=\"_blank\" rel=\"noopener noreferrer\">ha diversi tipi di operatori<\/a> adoperati con variabili e funzioni, la maggior parte dei quali saranno immediatamente riconoscibili:<\/p>\n<ul>\n<li>Operatori di assegnazione (<code>=<\/code>, <code>+=<\/code>, <code>-=<\/code>, <code>*=<\/code>, <code>\/=<\/code>, <code>%=<\/code>)<\/li>\n<li>Operatori di confronto (<code>==<\/code>, <code>===<\/code>, <code>!=<\/code>, <code>!==<\/code>, <code>&gt;<\/code>, <code>&gt;=<\/code>, <code>&lt;<\/code>, <code>&lt;=<\/code>)<\/li>\n<li>Operatori logici e bitwise (vedi sotto)<\/li>\n<li>Operatori aritmetici (<code>+<\/code>, <code>-<\/code>, <code>*<\/code>, <code>\/<\/code>, <code>%<\/code>, <code>++<\/code>, <code>--<\/code>)<\/li>\n<li>Operatori speciali<\/li>\n<\/ul>\n<p>Alcuni operatori sono meno familiari ai <a href=\"https:\/\/kinsta.com\/it\/blog\/assumere-uno-sviluppatore-wordpress\/\">programmatori<\/a> principianti, come gli operatori di confronto identici e non identici.<\/p>\n<p><code>===<\/code> confronta se due operandi hanno lo stesso valore e tipo (cio\u00e8 sono identici). <code>!==<\/code> confronta se due operandi non sono identici.<\/p>\n<p>Considerate il seguente esempio:<\/p>\n<pre><code class=\"language-javascript\">var variable_1 = 5; \/\/ declare variable_1 and assign numeric value 5\n\nvar variable_2 = \"5\"; \/\/ declare variable_2 and assign string value \"5\"\n\nconsole.log(variable_1 === variable_2);\n\nconsole.log(variable_1 !== variable_2);<\/code><\/pre>\n<p>L&#8217;output per questo frammento di codice sarebbe:<\/p>\n<pre><code class=\"language-javascript\">FALSE\nTRUE<\/code><\/pre>\n<p>\u00c8 essenziale anche comprendere la differenza tra <code>=<\/code> (operatore di assegnazione) e <code>==<\/code> (operatore di confronto).<\/p>\n<p>Mentre <code>=<\/code> imposta il valore di una variabile, <code>==<\/code> controlla se due operandi hanno lo stesso valore, e anche se una variabile ha un dato valore. Non dovreste utilizzare l&#8217;operatore <code>=<\/code> in dichiarazioni condizionali (come le dichiarazioni IF) per verificare l&#8217;equivalenza.<\/p>\n<h3>Operatori Bitwise e Logici<\/h3>\n<p>JavaScript supporta le operazioni AND (<code>&<\/code> ), OR (<code>|<\/code>), NOT (<code>~<\/code>) e XOR (<code>^<\/code>). In JavaScript, questi sono conosciuti come operatori bitwise. Le operazioni bitwise convertono gli operandi in rappresentazioni binarie a 32 bit prima di operare (ad esempio, 20 diventa 10100). Queste operazioni sono chiamate bitwise perch\u00e9 <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Guide\/Expressions_and_Operators#bitwise_operators\">confrontano gli operandi convertiti<\/a> bit per bit, quindi restituiscono un risultato binario a 32 bit convertito in un intero.<\/p>\n<p>Esempio:<\/p>\n<pre><code class=\"language-javascript\">var variable_1 = 20;\n\nvar variable_2 = 50;\n\nconsole.log(variable_1 | variable_2) \/\/ display the result of variable_1 OR variable_2<\/code><\/pre>\n<p>Converte gli operandi in binario:<\/p>\n<pre><code class=\"language-javascript\">20 = 010100\n\n50 = 110010<\/code><\/pre>\n<p>Un&#8217;operazione OR restituisce vero (1) quando uno dei due bit \u00e8 1, quindi il valore di confronto visualizzato \u00e8 110110 o 53. In JavaScript, il termine operatore logico si riferisce alle operazioni i cui operandi hanno solo i valori booleani 0 o 1. Gli operatori logici JavaScript sono <code>&&<\/code> (AND logico), <code>||<\/code> (OR logico), e <code>!<\/code> (NOT logico).<\/p>\n<pre><code class=\"language-javascript\">var variable_1;\n\nvar variable_2;\n\nvariable _1 = (6 &gt; 5); \/\/ sets variable_1 to true or 1\n\nvariable_2 = (7 &lt;= 6); \/\/ sets variable_2 to false or 0\n\nConsole.log(variable_1 && variable_2); \/\/ displays 0<\/code><\/pre>\n<h2>Funzioni e Metodi<\/h2>\n<p>Pensate alle funzioni come ai cavalli di battaglia di JavaScript. Sono blocchi di codice che eseguono compiti specifici. Se avete familiarit\u00e0 con procedure e subroutine in altri linguaggi di programmazione, riconoscerete immediatamente le funzioni.<\/p>\n<p>Le funzioni sono definite utilizzando la seguente sintassi:<\/p>\n<pre><code class=\"language-javascript\">function function_name(parameter list) {\n\n    \/\/ tasks to be performed\n\n}<\/code><\/pre>\n<p>Definire le funzioni \u00e8 solo il primo passo; in seguito dovrete invocare le funzioni utilizzando <code>()<\/code> nel codice:<\/p>\n<h3>$()<\/h3>\n<p>La funzione <code>$()<\/code> \u00e8 l&#8217;abbreviazione del metodo getElementByID, che, come notato sopra, restituisce l&#8217;ID di uno specifico elemento del DOM HTML. \u00c8 spesso utilizzato per manipolare elementi in un documento. <code>$()<\/code> permette una codifica JavaScript pi\u00f9 breve ed efficiente.<\/p>\n<p>Metodo tradizionale:<\/p>\n<pre><code class=\"language-javascript\">document.getElementByID(\"element_id\")\n\n$() method:\n\n$(\"element_id\")<\/code><\/pre>\n<h3>Funzione vs Metodo<\/h3>\n<p>Le funzioni eseguono dei compiti; i metodi sono propriet\u00e0 degli oggetti che contengono la definizione funzionale. La sintassi per invocare i metodi \u00e8 <code>object.function()<\/code>. Le funzioni sono autonome; i metodi sono associati agli oggetti.<\/p>\n<p>Nell&#8217;esempio visto sopra, il metodo <code>document.getElementByID(\"element_id\")<\/code> si riferisce a un oggetto (<code>document<\/code>) e alla propriet\u00e0 associata per quell&#8217;oggetto (<code>getElementbyID()<\/code>).<\/p>\n<p>Ci sono due tipi di metodi in JavaScript:<\/p>\n<ul>\n<li>Metodi di istanza<\/li>\n<li>Metodi statici<\/li>\n<\/ul>\n<p>I metodi d&#8217;istanza possono accedere e manipolare le propriet\u00e0 di un&#8217;istanza dell&#8217;oggetto. I metodi di istanza possono anche invocare un altro metodo di istanza o un metodo statico.<\/p>\n<p>I metodi statici contengono la logica relativa a una classe invece di un&#8217;istanza della classe. Per creare un metodo statico, dovete usare la parola static prima della definizione della funzione. I metodi statici possono accedere solo a campi statici; non possono accedere a campi di istanza.<\/p>\n<h2>Promesse in JavaScript<\/h2>\n<p>Una promessa \u00e8 un oggetto che <a href=\"https:\/\/www.freecodecamp.org\/news\/javascript-es6-promises-for-beginners-resolve-reject-and-chaining-explained\/\">produce un risultato in un momento futuro<\/a>. Nella terminologia JavaScript, le promesse sono conosciute come codice di produzione e consumo.<\/p>\n<p>Per essere completate, le funzioni possono richiedere una <a href=\"https:\/\/kinsta.com\/it\/blog\/strumenti-apm\/#why-you-should-be-using-an-apm-tool\">quantit\u00e0 di tempo<\/a> non specificata e significativa. Il codice consumer attende i risultati del codice produttore asincrono prima di eseguire le sue funzioni. Le promesse definiscono la relazione tra il codice produttore e il codice consumer.<\/p>\n<p>Le promesse hanno tre possibili stati: pending, fulfilled, o rejected. Nella definizione di una promessa, sono specificati due argomenti: resolve o reject. Pending \u00e8 lo stato iniziale di una promessa e significa che la promessa non \u00e8 stata n\u00e9 soddisfatta n\u00e9 rifiutata. Fulfilled implica che la promessa \u00e8 tornata risolta. Rejected significa che la promessa \u00e8 tornata indietro. Una promessa che non \u00e8 pi\u00f9 nello stato di pending \u00e8 considerata risolta.<\/p>\n<p>La sintassi di esempio per creare una promessa \u00e8:<\/p>\n<pre><code class=\"language-javascript\">var newPromise = new Promise(\n\n    function(resolve, reject) {\n\n        \/\/ condition to be tested\n\n    }\n\n)<\/code><\/pre>\n<h2>Chiusure in JavaScript<\/h2>\n<p>Le chiusure sono una funzionalit\u00e0 di JavaScript <a href=\"https:\/\/www.tutorialsteacher.com\/javascript\/closure-in-javascript\">che spesso lascia perplessi i programmatori<\/a>, anche se non sono cos\u00ec complicate. Le chiusure JavaScript sono metodi per indirizzare il funzionamento delle funzioni annidate. In particolare, le chiusure permettono ad una funzione interna di accedere al contenuto di una funzione madre, oltre alle variabili globali ordinariamente accessibili. Notate che mentre la funzione interna ha accesso alle variabili della funzione esterna, il contrario non \u00e8 vero.<\/p>\n<p>Per capire le chiusure, dovete ricordare i fondamenti dello scopo. Le variabili all&#8217;interno di una funzione sono generalmente accessibili solo da quella funzione, e lo scopo viene creato per ogni chiamata, non genericamente per la funzione. Le chiusure fanno fronte al fatto che le variabili di solito scompaiono dopo il completamento di una funzione. Permettono anche alle variabili di rimanere accessibili dopo che una funzione \u00e8 stata eseguita.<\/p>\n<p>Considerate il seguente codice di esempio:<\/p>\n<pre><code class=\"language-javascript\">function outer_closure_function() {\n\n    var outer_variable = \"we want to keep the outer variable\";\n\n    var inner_closure_function = function() {\n\n        inner_variable = \"use closures because\"\n\n        console.log(inner_variable + \" \" + outer_variable);\n\n    }\n\n    return inner_closure_function;\n\n}\n\nvar closure = outer_closure_function(); \/\/ returns a reference to inner_closure_function\n\nclosure(); \/\/ displays \"use closures because we want to keep the outer variable\"<\/code><\/pre>\n<p>Per capire come funziona questa chiusura, analizziamo il codice linea per linea. Prima si definisce la funzione esterna e poi una variabile associata. Successivamente, si definisce la funzione interna. \u00c8 importante notare che non avete invocato la funzione interna &#8211; l&#8217;avete solo definita. Poi c&#8217;\u00e8 una dichiarazione che restituisce la funzione interna. Ma ci\u00f2 che restituisce non \u00e8 il risultato della funzione interna, ma \u00e8 la funzione stessa.<\/p>\n<p>Cos\u00ec, quando si definisce la chiusura come <code>outer_closure_function<\/code>, non restituisce il valore effettivo della funzione interna. Restituisce invece un riferimento a <code>inner_closure_function<\/code>. Anche se la funzione esterna \u00e8 stata completata dopo questa dichiarazione e <code>outer_variable<\/code> ufficialmente non esiste pi\u00f9. Ma \u00e8 ancora conservata nel riferimento a <code>inner_closure_function<\/code>. Ora, quando si chiama la chiusura nell&#8217;ultima istruzione, viene visualizzato il risultato desiderato.<\/p>\n<p>Per capire meglio le chiusure, dovreste <a href=\"https:\/\/kinsta.com\/it\/blog\/migliori-editor-di-testo\/\">creare e testare voi stessi alcuni esempi<\/a>. Ci vuole tempo per farli bene. Inoltre, ripetuti aggiornamenti e test vi aiuteranno a crearvi una mentalit\u00e0 di sviluppo agile.<\/p>\n<p>Ma mentre procedete, <a href=\"https:\/\/kinsta.com\/it\/ebooks\/wordpress\/sicurezza-sito-wordpress\/\">tenete sempre a mente i problemi di sicurezza<\/a> &#8211; JavaScript pu\u00f2 essere suscettibile di gravi problemi di sicurezza, come <a href=\"https:\/\/kinsta.com\/it\/blog\/sql-injection\/\">iniezioni SQL e LDAP<\/a>, attacchi XSS, ecc.<\/p>\n<h2>Riepilogo<\/h2>\n<p>Se siete interessati a fare qualcosa di pi\u00f9 con le vostre pagine web di quanto possiate ottenere da servizi out-of-the-box come Wix e Square, dovreste considerare la possibilit\u00e0 di imparare JavaScript. \u00c8 un&#8217;introduzione semplice alla <a href=\"https:\/\/kinsta.com\/it\/blog\/monitoraggio-prestazioni-applicazioni\/\">programmazione di siti web e applicazioni<\/a> che pu\u00f2 aiutarvi ad aggiungere caratteristiche altamente interattive al vostro sito senza investire troppo tempo nello studio.<\/p>\n<p>JavaScript \u00e8 anche un modo eccellente per iniziare a <a href=\"https:\/\/kinsta.com\/developer-roles\/coding-skills-at-kinsta\/\">sviluppare le vostre abilit\u00e0 di codifica<\/a>, se alla fine decidete di passare al livello successivo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chi non si \u00e8 mai trovato di fronte la richiesta di aggiornare Java tentando di accedere a certi siti web? Anche se molti conoscono Java per &#8230;<\/p>\n","protected":false},"author":178,"featured_media":46713,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[25847],"class_list":["post-46711","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-tutorial-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web<\/title>\n<meta name=\"description\" content=\"Scopri cosa \u00e8 JavaScript, quali sono le sue caratteristiche principali, i vantaggi e che differenza c&#039;\u00e8 con Java. Vedremo anche esempi di codice JS.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web\" \/>\n<meta property=\"og:description\" content=\"Scopri cosa \u00e8 JavaScript, quali sono le sue caratteristiche principali, i vantaggi e che differenza c&#039;\u00e8 con Java. Vedremo anche esempi di codice JS.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-06T10:25:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:48:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Nahla Davies\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Scopri cosa \u00e8 JavaScript, quali sono le sue caratteristiche principali, i vantaggi e che differenza c&#039;\u00e8 con Java. Vedremo anche esempi di codice JS.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nahla Davies\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/\"},\"author\":{\"name\":\"Nahla Davies\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/7be3f509e7393507bdeb76947810fcd5\"},\"headline\":\"Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web\",\"datePublished\":\"2021-08-06T10:25:59+00:00\",\"dateModified\":\"2025-10-01T19:48:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/\"},\"wordCount\":2776,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/\",\"name\":\"Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg\",\"datePublished\":\"2021-08-06T10:25:59+00:00\",\"dateModified\":\"2025-10-01T19:48:40+00:00\",\"description\":\"Scopri cosa \u00e8 JavaScript, quali sono le sue caratteristiche principali, i vantaggi e che differenza c'\u00e8 con Java. Vedremo anche esempi di codice JS.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg\",\"width\":1460,\"height\":730,\"caption\":\"Cos'\u00e8 JavaScript? Uno sguardo al linguaggio di scripting pi\u00f9 popolare del web\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial JavaScript\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/tutorial-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/7be3f509e7393507bdeb76947810fcd5\",\"name\":\"Nahla Davies\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/de7167e50927dbee1296fd97629d66bc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/de7167e50927dbee1296fd97629d66bc?s=96&d=mm&r=g\",\"caption\":\"Nahla Davies\"},\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/nahladavies\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web","description":"Scopri cosa \u00e8 JavaScript, quali sono le sue caratteristiche principali, i vantaggi e che differenza c'\u00e8 con Java. Vedremo anche esempi di codice JS.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/","og_locale":"it_IT","og_type":"article","og_title":"Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web","og_description":"Scopri cosa \u00e8 JavaScript, quali sono le sue caratteristiche principali, i vantaggi e che differenza c'\u00e8 con Java. Vedremo anche esempi di codice JS.","og_url":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2021-08-06T10:25:59+00:00","article_modified_time":"2025-10-01T19:48:40+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg","type":"image\/jpeg"}],"author":"Nahla Davies","twitter_card":"summary_large_image","twitter_description":"Scopri cosa \u00e8 JavaScript, quali sono le sue caratteristiche principali, i vantaggi e che differenza c'\u00e8 con Java. Vedremo anche esempi di codice JS.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Nahla Davies","Tempo di lettura stimato":"15 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/"},"author":{"name":"Nahla Davies","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/7be3f509e7393507bdeb76947810fcd5"},"headline":"Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web","datePublished":"2021-08-06T10:25:59+00:00","dateModified":"2025-10-01T19:48:40+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/"},"wordCount":2776,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/","url":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/","name":"Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg","datePublished":"2021-08-06T10:25:59+00:00","dateModified":"2025-10-01T19:48:40+00:00","description":"Scopri cosa \u00e8 JavaScript, quali sono le sue caratteristiche principali, i vantaggi e che differenza c'\u00e8 con Java. Vedremo anche esempi di codice JS.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2021\/08\/cos-e-javascript.jpeg","width":1460,"height":730,"caption":"Cos'\u00e8 JavaScript? Uno sguardo al linguaggio di scripting pi\u00f9 popolare del web"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Tutorial JavaScript","item":"https:\/\/kinsta.com\/it\/argomenti\/tutorial-javascript\/"},{"@type":"ListItem","position":3,"name":"Cosa \u00c8 JavaScript? Uno Sguardo al Linguaggio di Scripting pi\u00f9 Popolare del Web"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/7be3f509e7393507bdeb76947810fcd5","name":"Nahla Davies","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/de7167e50927dbee1296fd97629d66bc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/de7167e50927dbee1296fd97629d66bc?s=96&d=mm&r=g","caption":"Nahla Davies"},"url":"https:\/\/kinsta.com\/it\/blog\/author\/nahladavies\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/46711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/178"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=46711"}],"version-history":[{"count":11,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/46711\/revisions"}],"predecessor-version":[{"id":65223,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/46711\/revisions\/65223"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46711\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46711\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46711\/translations\/pt"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46711\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46711\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46711\/translations\/de"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46711\/translations\/nl"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46711\/translations\/jp"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/46711\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/46713"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=46711"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=46711"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=46711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}