JavaScript s’apprend en continu : Quel que soit votre niveau, vous pouvez toujours approfondir le langage.
JavaScript est multi-paradigme : JavaScript est un langage qui permet d'écrire du code procédural, orienté objet ou fonctionnel. Vous pouvez faire ces choix sur une base ligne par ligne, au lieu d'être forcé dans un choix tout ou rien.
Compatibilité ascendante et descendante : JavaScript est rétrocompatible, ce qui signifie que le code écrit dans le passé continuera à fonctionner dans le futur. Cependant, il n'est pas compatible avec les versions futures, ce qui signifie que le code utilisant de nouvelles fonctionnalités peut ne pas fonctionner dans les anciens moteurs JavaScript. ( BABEL )
JavaScript et le web : JavaScript s’exécute dans plusieurs environnements, mais les navigateurs ont fortement influencé ses API et ses usages.
JavaScript suit plusieurs paradigmes : Le langage permet d’écrire du code procédural, orienté objet ou fonctionnel.
JavaScript et le web : De nombreuses fonctionnalités qui ressemblent à JavaScript, comme alert(..) et console.log(..), ne sont pas définies par JavaScript lui-même, mais par l'environnement qui exécute le moteur JavaScript.
JavaScript et les spécifications : La syntaxe et le comportement de JavaScript sont définis dans la spécification ECMAScript.
Le comité technique TC39 gère la spécification officielle du langage.
TC39. N'importe qui, qu'il soit membre de TC39 ou non, est invité à participer à ces discussions publiques et aux processus de travail sur les propositions.
Compatibilité avec le web : JavaScript a une compatibilité ascendante, ce qui signifie que le code qui est accepté comme JavaScript valide ne deviendra pas invalide dans les futures versions du langage. Cela signifie que vous pouvez écrire du code en JavaScript en toute confiance, sachant que votre code ne cessera pas de fonctionner de manière imprévisible en raison d'une mise à jour du navigateur.
Transpilation : Comme JavaScript n'est pas compatible avec les versions futures, les développeurs doivent prendre des mesures spéciales pour combler cet écart. Pour les nouvelles syntaxes incompatibles, la solution est la transpilation. La transpilation est un terme inventé par la communauté pour décrire l'utilisation d'un outil pour convertir le code source d'un programme d'une forme à une autre (mais toujours sous forme de code source textuel).
Chaque fichier est un programme distinct ; cela influence la gestion des erreurs et les interactions entre fichiers.
Les valeurs en JavaScript peuvent être primitives ou des objets. Les primitives incluent les chaînes, les nombres, les booléens, null, undefined et les symboles. Les objets sont des collections non ordonnées de diverses valeurs.
Les variables en JavaScript doivent être déclarées avant d'être utilisées. Il existe trois mots-clés pour déclarer des variables : "var", "let" et "const".
Les fonctions en JavaScript sont des valeurs qui peuvent être assignées et passées autour. Elles peuvent recevoir des paramètres et renvoyer des valeurs.
JavaScript a plusieurs mécanismes pour permettre la comparaison de valeurs. L'opérateur "===" est souvent utilisé pour vérifier l'égalité, mais il ne vérifie pas l'égalité structurelle pour les objets, seulement l'égalité d'identité.
La coercition en JavaScript signifie qu'une valeur d'un type est convertie en sa représentation respective dans un autre type. Cela peut causer de la confusion lorsqu'il est utilisé avec des opérateurs de comparaison, en particulier l'opérateur "==" qui est souvent critiqué pour son comportement en matière de coercition.