📚 Méthodes de base JavaScript

🤖 TensorFlow JS

🔤 Variables

        //Variable
let nom = "user";
const age = 30;
console.log(typeof nom); // string
console.log(nom) ; // user
console.log(age) ; // 30 
      

📦 Tableaux – Méthodes de base

let fruits = ["Fraise", "Banane", "Raisin"];
fruits.push("Ananas");
console.log(fruits); // ["Fraise", "Banane", "Raisin", "Ananas"]
fruits.pop(); // retire Ananas
console.log(fruits) ; // [ 'Fraise', 'Banane', 'Raisin' ]

📊 Tableaux – Méthodes avancées

let nombres = [1, 2, 3, 4, 5];

nombres.forEach(n => console.log("Nombre :", n));

let doublés = nombres.map(n => n * 2);
console.log(doublés); // [2, 4, 6, 8, 10]

let pairs = nombres.filter(n => n % 2 === 0);
console.log(pairs); // [2, 4]

let somme = nombres.reduce((acc, n) => acc + n, 0);
console.log(somme); // 15
      

🧵 Chaînes de caractères

        //Methode split()
let phrase = "Bonjour tout le monde";
let mots = phrase.split(" ");
console.log(mots); // ["Bonjour", "tout", "le", "monde"]

let fruits = "pomme,banane,orange";
let tableau = fruits.split(",");
console.log(tableau); // ["pomme", "banane", "orange"]

        //Methode replace() 
let texte1 = "Bonjour le monde";
let resultat1 = texte1.replace("monde", "user");
console.log(resultat1); // "Bonjour le user"

let texte2 = "Chat noir, chat blanc, chat gris";
let resultat2 = texte2.replace(/chat/gi, "chien");
console.log(resultat2); // "chien noir, chien blanc, chien gris"

        //includes()
let texte3 = "Bonjour Julien";
console.log(texte3.includes("Julien"));  // true
console.log(texte3.includes("julien"));  // false (sensible à la casse)
console.log(texte3.includes("Bonjour", 0)); // true
console.log(texte3.includes("Bonjour", 5)); // false

        //toUpperCase()
let texte4 = "Bonjour USER";
console.log(texte4.toUpperCase()); 
// "BONJOUR USER"
console.log("javascript".toUpperCase()); 
// "JAVASCRIPT"

let userInput = "user";
let motDePasse = "USER";
if (userInput.toUpperCase() === motDePasse.toUpperCase()) {
  console.log("Mot de passe correct !");
} else {
  console.log("Mot de passe incorrect !");
}
        //toLowerCase()
let texte5 = "BONJOUR USER";
console.log(texte5.toLowerCase());
// "bonjour user"
console.log("JavaScript".toLowerCase());
// "javascript"
let email1 = "User@example.com";
let email2 = "user@example.com";
if (email1.toLowerCase() === email2.toLowerCase()) {
  console.log("Les emails correspondent !");
} else {
  console.log("Les emails sont différents !");
}
        //trim()
let texte6 = "   Bonjour User   ";
console.log(texte6.trim());  
// "Bonjour User"
//Espaces au milieu → pas supprimés
let texte7 = "   Bonjour   le   monde   ";
console.log(texte7.trim());  
// "Bonjour   le   monde"
let saisie = "   user@example.com   ";
let email = saisie.trim();
console.log(email);  
// "user@example.com"
        //indexOf()
let texte8 = "Bonjour User";

console.log(texte8.indexOf("User"));   // 8
console.log(texte8.indexOf("Bonjour"));  // 0
console.log(texte8.indexOf("Hello"));    // -1
//Avec une position de départ
let phrase2 = "banane banane";
console.log(phrase2.indexOf("banane", 3)); // 7 (cherche à partir de l’index 3)

        //substring()
//indexDebut → position où commencer (inclus).
//indexFin (optionnel) → position où s’arrêter (exclu).
//Si indexFin est omis → extrait jusqu’à la fin de la chaîne.
//Si indexDebut > indexFin, JavaScript inverse automatiquement les valeurs.

let texte9 = "Bonjour Julien";
console.log(texte9.substring(0, 7));  
// "Bonjour" (de 0 à 6 inclus)
console.log(texte9.substring(8));  
// "Julien" (à partir de l’index 8 jusqu’à la fin)

    

🔢 Nombres

            //parseInt()
let nb = "42" ;
console.log(nb) ;//"42"
console.log(typeof(nb)) ;//string
let nombre =parseInt(nb);
console.log(nombre) ;//42
console.log(typeof(nombre)) ;//number
            //parseFloat()
console.log(parseFloat("42"));       // 42
console.log(parseFloat("42.56"));    // 42.56
console.log(parseFloat("42.56px"));  // 42.56 (lit la partie numérique avant "px")
console.log(parseFloat("px42.56"));  // NaN (ne commence pas par un chiffre)

            //Math.round()
console.log(Math.round(4.4)); // 4
console.log(Math.round(4.5)); // 5
console.log(Math.round(4.6)); // 5
console.log(Math.round(-4.5)); // -4 (arrondi "vers le haut")

            //Math.floor()
console.log(Math.floor(4.9));  // 4
console.log(Math.floor(4.1));  // 4
console.log(Math.floor(-4.1)); // -5 (toujours vers le bas)

            //Math.ceil()
console.log(Math.ceil(4.1));  // 5
console.log(Math.ceil(4.9));  // 5
console.log(Math.ceil(-4.1)); // -4 (toujours vers le haut)

            //toFixed()
let pi = 3.14159;
console.log(pi.toFixed(2)); // "3.14" (string)

        

🔁 Structures de contrôle

// Condition simple
let age = 20;
if (age >= 18) {
  console.log("Majeur");
} else {
  console.log("Mineur");
}

// Boucle for
for (let i = 0; i < 3; i++) {
  console.log("i vaut", i);
}

🗺️ Map et Set en JavaScript

// MAP
let capitales = new Map();
capitales.set("France", "Paris");
capitales.set("Italie", "Rome");
console.log(capitales.get("France")); // Paris

// SET
let nombres = new Set();
nombres.add(1);
nombres.add(2);
nombres.add(1); // Ignoré car doublon
console.log(nombres); // Set(2) {1, 2}

📦 Objets

        //Objet
let user = {
nom: "user",
age: 30
};

console.log(Object.keys(user)); // ["nom", "age"]
console.log(Object.values(user)); // ["user", 30]
console.log(Object.entries(user)); // [["nom", "user"], ["age", 30]]

🏗️ Classes en JavaScript

        //class
class Utilisateur {
  constructor(nom, age) {
    this.nom = nom;
    this.age = age;
  }

  sePresenter() {
    return `Bonjour, je suis ${this.nom} et j'ai ${this.age} ans.`;
  }
}

let user1 = new Utilisateur("user", 30);
console.log(user1.sePresenter());

⏱️ Fonctions asynchrones (async / await)

        //asyn await
async function chargerUtilisateur() {
  try {
    const reponse = await fetch("https://jsonplaceholder.typicode.com/users/1");
    const data = await reponse.json();
    console.log("Nom de l'utilisateur :", data.name);
  } catch (erreur) {
    console.log("❌ Erreur lors du chargement :", erreur);
  }
}

chargerUtilisateur();

🔧 Fonctions en JavaScript

// Fonction classique
function direBonjour(nom = "inconnu") {
  return "Bonjour " + nom;
}

console.log(direBonjour("user"));

// Fonction fléchée
const carre = x => x * x;
console.log(carre(4)); // 16