(Cette fois, ce nâest pas juste une âintroductionâ â on plonge vraiment dedans. PrĂȘt(e) avec ton snack cĂ©rĂ©bral ? đ§ đ„š)
JavaScriptâŠ
Le magicien en coulisses du web. HTML construit la scĂšne, CSS crĂ©e le costume, et JavaScript entre sous les projecteurs en disant : « Place au spectacle ! » đ
Il a Ă©tĂ© créé en 1995 par Brendan Eich. Ă lâĂ©poque, personne ne disait : « Ce langage fera un jour du frontend, du backend, du mobile et du desktop. »
Et pourtant⊠nous y voilà .
Maintenant, nous construisons une base solide.
Pas superficielle. On répond aussi aux questions : « Pourquoi ça fonctionne comme ça ? »
1ïžâŁ Comment fonctionne JavaScript ? (Regardons Ă lâintĂ©rieur du moteur)
JavaScript sâexĂ©cute gĂ©nĂ©ralement dans un moteur de navigateur.
Chrome â Moteur V8
Tu Ă©cris du code â Le moteur le lit â Le convertit en code machine â LâexĂ©cute
Donc quand tu écris :
console.log("Hello!");
Cette simple ligne passe par un processus complexe en arriĂšre-plan.
Mais pour toi, ça paraĂźt simple â parce que JavaScript est un maĂźtre dans lâart de cacher la complexitĂ©.
đ OĂč Ă©crit-on les scripts ?
Dans le HTML :
<script>
console.log("Page loaded");
</script>
Dans un fichier séparé :
<script src="app.js"></script>
đ Dans de vrais projets, utilise toujours des fichiers sĂ©parĂ©s.
Garde ton code propre. Ton âtoi du futurâ te remerciera.
2ïžâŁ Variables â Les BoĂźtes MĂ©moire đŠ
Programmer = Stocker des données + Les traiter + Les afficher.
đą let â Utilisation quotidienne
let score = 10;
score = score + 5;console.log(score);
Que sâest-il passĂ© ?
score = 10
score + 5 â 15
La nouvelle valeur devient 15
Affichage console : 15
đ Astuce :
Tu peux aussi écrire :
score += 5;
MĂȘme rĂ©sultat, plus propre.
đ” const â Constant⊠mais attention !
const user = "Cansu";
Cela ne peut pas changer.
Mais regarde ceci :
const list = [1, 2, 3];
list.push(4);console.log(list);
Pourquoi pas dâerreur ?
Parce que const verrouille la rĂ©fĂ©rence â pas le contenu interne.
đ Important :
Cette différence est essentielle avec les tableaux et les objets.
đŽ var â Les piĂšges du scope
if (true) {
var test = "Hello";
}console.log(test);
Ăa fonctionne.
Mais :
if (true) {
let test2 = "Hi";
}console.log(test2); // ERREUR
đ let â portĂ©e de bloc
đ var â portĂ©e de fonction
RĂšgle moderne : Nâutilise pas var.
On a laissĂ© 1998 derriĂšre nous đ
3ïžâŁ Types de DonnĂ©es â Analyse de personnalitĂ© de JavaScript đ§Ź
đ§” String
let name = "Cansu";
let message = `Hello ${name}`;
console.log(message);
Les backticks (`) permettent lâinterpolation.
Ancien style :
"Hello " + name
Le style moderne est plus propre et plus lisible.
đą Number & MathĂ©matiques Ă©tranges
console.log(0.1 + 0.2);
Attendu : 0.3
RĂ©alitĂ© : 0.30000000000000004 đ
Pourquoi ?
ProblÚme de précision en virgule flottante.
đ Si tu dĂ©veloppes une application financiĂšre â sois vigilant(e).
đĄ Boolean
let isLoggedIn = false;if (!isLoggedIn) {
console.log("Please log in");
}
! â inverse la valeur.
â« Truthy & Falsy (TrĂšs important !)
if (0) console.log("Ne sâexĂ©cute pas");
if ("") console.log("Ne sâexĂ©cute pas");
if (null) console.log("Ne sâexĂ©cute pas");
if (undefined) console.log("Ne sâexĂ©cute pas");
Valeurs falsy :
- 0
- “”
- null
- undefined
- NaN
- false
Les connaĂźtre tâĂ©vitera des bugs subtils.
4ïžâŁ OpĂ©rateurs â Combinaisons puissantes âïž
Comparaison
console.log(5 > 3); // true
console.log(5 < 3); // false
Opérateurs logiques
let age = 20;
let hasLicense = true;if (age > 18 && hasLicense) {
console.log("Can drive");
}
&& â ET|| â OU
Logique de court-circuit
let name = "";
let result = name || "Guest";console.log(result);
Si name est vide â retourne “Guest”.
Technique trÚs utilisée en pratique.
5ïžâŁ Conditions â Le systĂšme de dĂ©cision đ§
Opérateur ternaire (version courte)
let age = 20;
let message = age >= 18 ? "Adult" : "Child";console.log(message);
Version courte de if-else.
Switch
let day = 2;switch (day) {
case 1:
console.log("Monday");
break;
case 2:
console.log("Tuesday");
break;
default:
console.log("Unknown day");
}
Si tu oublies break, lâexĂ©cution continue vers le bas.
6ïžâŁ Boucles â La puissance de la rĂ©pĂ©tition đ
for avec tableau
let fruits = ["Apple", "Pear", "Banana"];for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
.length â nombre dâĂ©lĂ©ments.
forEach (style moderne)
fruits.forEach(function(fruit) {
console.log(fruit);
});
Version fléchée :
fruits.forEach(fruit => console.log(fruit));
Plus lisible et plus propre.
7ïžâŁ Fonctions â Les super-hĂ©ros du code đŠž
ParamÚtres par défaut
function greet(name = "Guest") {
return `Hello ${name}`;
}console.log(greet());
Si aucun argument nâest passĂ© â “Guest”.
Expression de fonction
const add = function(a, b) {
return a + b;
};
Arrow Function & this
Les fonctions fléchées ne lient pas leur propre this.
Sujet avancĂ© â mais important Ă retenir đ
8ïžâŁ Tableaux & Objets â ModĂ©liser le monde rĂ©el đ
Tableau
let numbers = [1, 2, 3];
numbers.push(4);console.log(numbers);
Objet
let user = {
name: "Cansu",
age: 25,
active: true
};console.log(user.name);
Dans les applications rĂ©elles â presque tout est un objet.
9ïžâŁ Manipulation du DOM â Prendre le contrĂŽle de la page đ
<h1 id="title">Hello</h1>
<button id="change">Change</button>
const title = document.getElementById("title");
const button = document.getElementById("change");button.addEventListener("click", () => {
title.textContent = "JavaScript Power!";
});
Que sâest-il passĂ© ?
- Sélection des éléments
- Ăcoute dâun Ă©vĂ©nement
- Modification du contenu
Maintenant, tu contrĂŽles la page.
đ Scope & Hoisting â DerriĂšre le rideau đ
Hoisting
console.log(a);
var a = 5;
Affiche : undefined
Parce que var est hoisté.
Mais :
console.log(b);
let b = 10;
Erreur.
let et const sont hoistés mais inaccessibles avant initialisation.
đŻ Conseils professionnels
- Divise ton code en petites fonctions
- Utilise des noms de variables clairs
- Utilise
console.logpour le debug â supprime-le en production - Ăcris du code â Fais des erreurs â Apprends â Réécris
đ Conclusion
JavaScript :
- A lâair simple
- Devient profond
- Parfois frustrant
- Mais te rend plus fort(e)
Si tu comprends vraiment ces bases :
- Apprendre React devient plus facile
- La logique backend devient claire
- Ta pensĂ©e algorithmique sâamĂ©liore
Et câest lĂ que la vraie progression commence.

