---
title: Introduction à JavaScript
description: Parlons un peu de JavaScript, le langage de programmation incontournable pour le développement web.
tags: []
---

import Callout from "@/components/Callout";

**JavaScript** est un langage de programmation populaire qui permet d'ajouter des fonctionnalités interactives aux pages web.
Contrairement au HTML qui définit la structure et le contenu d'une page, JavaScript peut manipuler ces éléments dynamiquement et créer une expérience utilisateur plus riche.

<Callout type="note" title="Environnement d'exécution">
  Dans le cadre de cette série d'articles, nous allons principalement nous concentrer sur l'environnement d'exécution du navigateur.

  Cependant, il est important de noter que JavaScript peut également être exécuté côté serveur grâce à des environnements comme **Node.js**.
</Callout>

## L'histoire de JavaScript

JavaScript a été créé en 1995 par **Brendan Eich** alors qu'il travaillait chez Netscape _(un ancien navigateur web)_.  
Il a été conçu à l'origine pour ajouter des fonctionnalités interactives aux pages web, mais il a rapidement évolué pour devenir un langage de programmation complet.

Aujourd'hui, JavaScript est utilisé dans presque tous les sites web modernes et est devenu un standard pour le développement web.

## Pourquoi JavaScript est-il si populaire ?

JavaScript est devenu l'un des langages de programmation les plus populaires pour plusieurs raisons :

- **Interactivité** : JavaScript permet d'ajouter des fonctionnalités interactives aux pages web, comme des animations, des formulaires dynamiques, etc.
- **Compatibilité** : JavaScript est pris en charge par tous les navigateurs modernes, ce qui le rend accessible à un large public.
- **Écosystème riche** : Il existe de nombreuses bibliothèques et frameworks/bibliothèques JavaScript, comme **React**, **Vue.js** et **Angular**, qui facilitent le développement d'applications web complexes.
- **Communauté active** : JavaScript a une grande communauté de développeurs qui partagent des ressources, des tutoriels et des outils pour aider les autres à apprendre et à progresser.

Cependant, il est important de noter que JavaScript a également ses inconvénients :

- **Typage faible** : JavaScript est un langage à typage faible, ce qui signifie que le type d'une variable n'est pas défini explicitement et peut changer au cours de l'exécution du programme.
- **Gestion asynchrone** : La nature asynchrone de JavaScript, peut rendre le code plus ddificile à comprendre et à maintenir.
- **Support pour la POO** : Bien que JavaScript prenne en charge la programmation orientée objet, il ne le fait pas de la même manière que d'autres langages comme Java ou C#.  
  Il utilise plutôt un modèle basé sur les prototypes, ce qui peut être déroutant pour les développeurs habitués à d'autres langages.
- **Performances** : Bien que JavaScript soit généralement rapide, il peut être moins performant que d'autres langages compilés comme C++ ou Rust pour certaines tâches intensives en calcul.

Mais alors, est-ce que JavaScript est un bon choix pour le développement web ?  
Voyons ça ensemble !

## Pourquoi utiliser JavaScript ?

Déjà, il faut prendre en compte que JavaScript est **l'unique** langage de programmation qui peut être exécuté dans le navigateur.  
Cela signifie que si vous voulez créer des applications web interactives, JavaScript est le langage à utiliser.

<Callout type="note" title="Le cas des langages compilés">
  Il existe des langages compilés qui peuvent être utilisés pour créer des applications web, comme **TypeScript** ou **WebAssembly**.  
  Cependant, ces langages sont généralement transpilés en JavaScript avant d'être exécutés dans le navigateur.

  Ça signifie que même si vous utilisez un autre langage, il y a de fortes chances qu'il soit finalement converti en JavaScript pour être exécuté dans le navigateur.
</Callout>

À partir de là, le fait d'apprendre JavaScript si l'on veut devenir développeur web est un choix évident.

## Ce qui t'attend dans cette série d'articles

Comme dit précédemment, cette série d'articles va se concentrer sur l'environnement d'exécution du navigateur.  
On va donc aborder les sujets suivants :

- La syntaxe de base de JavaScript
- Les instructions
- Les types de données
- Les fonctions et la portée
- La compréhension et manipulation du DOM
- Les événements
- Le principe d'asynchrone

Chaque article de cette série sera conçu pour être facilement compréhensible, avec des exemples pratiques et une explication des concepts.

<Callout type="warning" title="Facilement compréhensible !== Facile">
  Facilement compréhensible ne veut pas dire que c'est facile à comprendre !

  Il y a beaucoup de concepts à assimiler et certains peuvent faire mal au crâne.  
  Prends ton temps et n'hésite pas à revenir en arrière si tu ne comprends pas quelque chose.

  L'idée est de ne surtout pas se précipiter sur les notions suivantes tant que tu n'as pas compris celles abordées dans l'article.  
  Expérimente et joue avec le code pour plus facilement assimiler !
</Callout>