JavaScript: tutto quello che sai su JS
Ci sono alcuni concetti fondamentali in JavaScript (noto anche come JS) che è molto essenziale da imparare. In questo blog, ho cercato di fornire una breve ma puntuale dimostrazione di quei concetti cruciali di JS. Sicuramente, dopo aver appreso questi argomenti, JavaScript diventerà meno strano per te. Quindi, senza ulteriori indugi! Iniziamo.
Elevata astrazione
Nella programmazione, un'elevata astrazione significa che le parti relativamente complesse sono nascoste e le parti più semplificate vengono visualizzate. La sintassi dei linguaggi ad alta astrazione è semplice rispetto ai linguaggi di basso livello come C e Java, il che rende più facile per i programmatori lavorare con un linguaggio ad alta astrazione come JavaScript, Python, Go e così via.
Garbage Collector
A differenza dei linguaggi di basso livello come C, non abbiamo bisogno di mantenere la memoria manualmente in JavaScript. Piuttosto, JavaScript utilizza la gestione automatica della memoria che si chiama Garbage Collection. Utilizzando l'algoritmo Mark-and-Sweep, il motore JavaScript raccoglie automaticamente le allocazioni di memoria inutilizzate e quindi le rimuove.
Compilazione JIT
Con l'aiuto della compilazione JIT (just in time), il programma viene compilato durante il tempo di esecuzione in codice nativo per migliorare le prestazioni. I browser moderni supportano la compilazione JIT per compilare il codice JavaScript che rende più veloce il tempo di esecuzione.
Multi-paradigma
Un linguaggio multi-paradigma consente ai programmatori di progettare un programma in più approcci. JavaScript supporta la programmazione orientata agli oggetti, la programmazione procedurale, la programmazione funzionale e così via.
Basato su prototipi
Ovviamente, JavaScript è un linguaggio basato su prototipi, il che significa che le proprietà ei metodi di un oggetto possono essere condivisi attraverso oggetti generalizzati che possono essere clonati ed estesi. In parole semplici, è possibile clonare le proprietà ei metodi di un oggetto e anche aggiungere ulteriori proprietà e metodi all'oggetto appena clonato.
Tipizzato dinamicamente
Semplicemente, in JavaScript il tipo di una variabile viene controllato in fase di esecuzione. Per questo, non abbiamo nemmeno bisogno di specificare il tipo di dati di una variabile. Inoltre, si chiama linguaggio vagamente tipizzato perché anche i tipi di dati possono essere modificati automaticamente nel tempo di esecuzione che si chiama coercizione del tipo. Tuttavia, TypeScript, un superset di JavaScript, è un linguaggio tipizzato staticamente.
JS a thread singolo
ha uno stack di chiamate e un heap di memoria, il che significa che esiste un solo thread (processo) per l'esecuzione delle istruzioni. Semplicemente, in JavaScript viene eseguita solo un'istruzione alla volta.
Asincrono
Sebbene sia un linguaggio a thread singolo, JavaScript si comporta in modo asincrono con l'aiuto della coda di callback e del ciclo di eventi. Le istruzioni asincrone vengono archiviate nella coda di callback e vengono chiamate dal ciclo di eventi e successivamente vengono eseguite ogni volta che vengono eseguite le operazioni sincrone.
Non
bloccante Il non bloccante si riferisce alla nozione di non bloccare l'esecuzione per ulteriori operazioni. JavaScript non attende per completare le operazioni di I/O estese e le richieste HTTPS. Invece di attendere, memorizza l'istruzione asincrona nella coda di callback ed esegue il resto delle operazioni sincrone. Questo concetto di non blocco è anche correlato al comportamento asincrono di JavaScript di cui abbiamo già discusso.
Le funzioni sono cittadini di prima classe
Le funzioni sono chiamate cittadini di prima classe in JavaScript. Perché, in JavaScript, le funzioni possono essere dichiarate come variabili, possono essere passate come argomento in un'altra funzione e possono essere restituite da una funzione. Inoltre, le funzioni possono essere impostate come metodo di un oggetto.
Nota: in questo blog, ho solo cercato di fornire una panoramica delle funzionalità e delle caratteristiche più importanti di JavaScript. Ora è tuo dovere saperne di più su questi argomenti sopra menzionati.

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































