DEV Community

Claire D.
Claire D.

Posted on

4 1

Les 8 concepts de base de JavaScript

🚀 Si tu commences à coder ou que tu veux revoir les bases de JavaScript, cet article est fait pour toi.

Pourquoi JavaScript ?

Il est largement utilisĂ© pour le dĂ©veloppement web, et peut ĂȘtre utilisĂ© cotĂ© serveur avec Node.js notamment.

1. DĂ©clarer des variables

On peut déclarer des variables avec les mots-clés var , let , ou const .

Javascript compte plusieurs types

  • number : nombre
    Représente à la fois les nombres entiers et les nombres à virgule flottante.

  • string : chaĂźne de caractĂšres
    Représente une séquence de caractÚres.
    "Hello, World!", 'JavaScript'

  • boolean : boolĂ©en
    ReprĂ©sente une valeur binaire qui peut ĂȘtre soit true (vrai) soit false (faux).

  • Null
    Représente une valeur nulle ou inexistante.

  • undefined : IndĂ©fini
    Représente une variable qui a été déclarée mais n'a pas encore été initialisée.

  • object : Objet
    Un type de données complexe qui peut contenir des collections de propriétés et de méthodes.

let personne = {
  nom: "John",
  age: 30,
  sexe: "homme"
};
Enter fullscreen mode Exit fullscreen mode
  • array : Tableau ReprĂ©sente une collection ordonnĂ©e d'Ă©lĂ©ments.
let fruits = ["pomme", "banane", "fraise"];
Enter fullscreen mode Exit fullscreen mode
  • function : Fonction Les fonctions sont des objets de premiĂšre classe en JavaScript. Elles peuvent ĂȘtre assignĂ©es Ă  des variables, passĂ©es en tant qu'arguments, et retournĂ©es par d'autres fonctions.
function addition(a, b) {
  return a + b;
}
Enter fullscreen mode Exit fullscreen mode
  • symbol : Symbole Un type de donnĂ©es introduit dans ES6, utilisĂ© pour crĂ©er des propriĂ©tĂ©s uniques dans les objets.
const mySymbol = Symbol("description")
Enter fullscreen mode Exit fullscreen mode
  • BigInt : BigInt Un type de donnĂ©es introduit dans ES11 (ES2020) pour reprĂ©senter des nombres entiers trĂšs grands.
const bigIntValue = 1234567890123456789012345678901234567890n
Enter fullscreen mode Exit fullscreen mode

2. Les opérateurs

JavaScript prend en charge une variété d'opérateurs pour effectuer des opérations sur des données.

🔱 OpĂ©rateurs mathĂ©matiques

  • + : Addition
  • - : Soustraction
  • * : Multiplication
  • / : Division
  • % : Modulo (reste de la division)
  • ** : Exponentiation (introduit dans ES6) 🔗 OpĂ©rateurs de comparaison
  • == : Égal Ă  (valeur)
  • === : Égal Ă  (valeur et type)
  • != : DiffĂ©rent de (valeur)
  • !== : DiffĂ©rent de (valeur et type)
  • < : InfĂ©rieur Ă 
  • > : SupĂ©rieur Ă 
  • <= : InfĂ©rieur ou Ă©gal Ă 
  • >= : SupĂ©rieur ou Ă©gal Ă  đŸ”Č OpĂ©rateurs logiques
  • && : ET
  • || : OU
  • ! : NON

3. Les Structures de controle

Les instructions conditionnelles

  • L'instruction if permet d'exĂ©cuter un bloc de code si une condition est vraie.
if (condition) {
  // Code à exécuter si la condition est vraie
}
Enter fullscreen mode Exit fullscreen mode
  • L'instruction else if permet d'ajouter des conditions alternatives Ă  une instruction if.
if (condition1) {
  // Code à exécuter si condition1 est vraie
} else if (condition2) {
  // Code à exécuter si condition1 est fausse et condition2 est vraie
}
Enter fullscreen mode Exit fullscreen mode
  • L'instruction else permet d'exĂ©cuter un bloc de code si aucune des conditions prĂ©cĂ©dentes n'est vraie.
if (condition) {
  // Code à exécuter si la condition est vraie
} else {
  // Code à exécuter si la condition est fausse
}
Enter fullscreen mode Exit fullscreen mode

Boucles

🔁 La boucle for permet d'itĂ©rer sur un bloc de code un certain nombre de fois en spĂ©cifiant une condition d'arrĂȘt.

for (initialisation; condition; itération) {
  // Code à répéter
}
Enter fullscreen mode Exit fullscreen mode

🔄 La boucle while rĂ©pĂšte un bloc de code tant qu'une condition est vraie.

while (condition) {
  // Code à répéter tant que la condition est vraie
}
Enter fullscreen mode Exit fullscreen mode

🔁 La boucle do...while est similaire Ă  la boucle while, mais garantit qu'au moins une itĂ©ration sera effectuĂ©e avant de vĂ©rifier la condition.

do {
  // Code à répéter au moins une fois
} while (condition);
Enter fullscreen mode Exit fullscreen mode

4. Les fonctions

🔧 Les fonctions sont des blocs de code rĂ©utilisables que vous pouvez dĂ©finir et appeler. Les fonctions sont dĂ©finies Ă  l'aide du mot-clĂ© function.
Les fonctions peuvent accepter des paramĂštres et renvoyer des valeurs.

function multiplier(a, b) {
  return a * b;
}
Enter fullscreen mode Exit fullscreen mode

5. Les objets

đŸ§© Les objets sont des structures de donnĂ©es complexes qui peuvent contenir des propriĂ©tĂ©s et des mĂ©thodes. Les propriĂ©tĂ©s sont des variables, tandis que les mĂ©thodes sont des fonctions associĂ©es Ă  un objet.

// Création d'un objet représentant une personne
const personne = {
  nom: "John",
  age: 30,
  sexe: "homme",
};

// AccÚs aux propriétés de l'objet
console.log("Nom de la personne : " + personne.nom);
console.log("Âge de la personne : " + personne.age);
Enter fullscreen mode Exit fullscreen mode

6. Les événements et les gestionnaires d'événements

🎯 Les Ă©vĂ©nements et les gestionnaires d'Ă©vĂ©nements en JavaScript permettent de surveiller et de rĂ©agir aux actions de l'utilisateur sur une page web, comme les clics de souris, les saisies au clavier, etc. Les gestionnaires d'Ă©vĂ©nements sont des fonctions JavaScript attachĂ©es aux Ă©lĂ©ments HTML pour dĂ©finir des rĂ©ponses spĂ©cifiques Ă  ces Ă©vĂ©nements, ajoutant ainsi de l'interactivitĂ© aux applications web.

// On sélectionne un bouton par son ID
const monBouton = document.getElementById("monBouton");

// On ajoute un gestionnaire d'événements de clic
monBouton.addEventListener("click", function() {
  alert("Le bouton a été cliqué !");
});
Enter fullscreen mode Exit fullscreen mode

7. Promesses et asynchronicité

🌐 Les promesses en JavaScript sont des objets qui reprĂ©sentent des opĂ©rations asynchrones, telles que les requĂȘtes rĂ©seau, les lectures de fichiers, etc. Elles permettent de gĂ©rer ces opĂ©rations de maniĂšre plus lisible et ordonnĂ©e, en fournissant des callbacks pour les rĂ©sultats (rĂ©solues) ou les erreurs (rejetĂ©es).

L' asynchronicité signifie que le programme peut continuer à s'exécuter sans attendre la fin d'une opération longue. Les promesses aident à gérer ces opérations asynchrones en garantissant un contrÎle plus efficace de la séquence d'exécution du code.

// Création d'une promesse
const maPromesse = new Promise((resolve, reject) => {
  setTimeout(() => {
    const reussite = true;
    if (reussite) {
      resolve("Opération réussie");
    } else {
      reject("Erreur");
    }
  }, 2000);
});

// Utilisation de la promesse
maPromesse
  .then(resultat => console.log(resultat))
  .catch(erreur => console.error(erreur));
Enter fullscreen mode Exit fullscreen mode

8. Portée et fermeture

🔍 La portĂ©e (scope) en JavaScript dĂ©termine oĂč une variable est accessible dans le code. Les fermetures (closures) sont des fonctions imbriquĂ©es qui peuvent accĂ©der aux variables de leur fonction parente, mĂȘme aprĂšs que cette fonction parente ait terminĂ© son exĂ©cution. Cela permet de stocker et de protĂ©ger des valeurs pour une utilisation ultĂ©rieure.


Merci d'avoir lu cet article jusqu'au bout! Je t'invite Ă  me laisser ton avis en commentaire, ou Ă  me suivre sur Twitter pour plus d'astuces JavaScript! đŸš€đŸ‘©â€đŸ’»đŸ‘

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (2)

Collapse
 
kehoecj profile image
Clayton Kehoe ‱

Great guide! I don’t speak French but was able to follow along (I think :-) - thanks for sharing!

Collapse
 
kureru profile image
Claire D. ‱

Hi Clayton, thank you so much for reading my article. I'm glad you enjoyed it!

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

👋 Kindness is contagious

Please leave a ❀ or a friendly comment on this post if you found it helpful!

Okay