Comparatif des types de fonctions : Python vs JavaScript
1. Fonction classique
Python: def saluer(nom): return "Bonjour " + nom
JavaScript: function saluer(nom) { return "Bonjour " + nom; }
2. Fonction anonyme
Python: carre = lambda x: x * x
JavaScript: const carre = function(x) { return x * x; }
3. Fonction fléchée (JS seulement)
Python: (pas de flèches, utilise lambda)
JavaScript: const carre = x => x * x;
4. Sans paramètres
Python: def hello(): print("Hello !")
JavaScript: function hello() { [Link]("Hello !"); }
5. Avec paramètres
Python: def addition(a, b): return a + b
JavaScript: function addition(a, b) { return a + b; }
6. Valeurs par défaut
Python: def saluer(nom="Inconnu"): print("Salut", nom)
JavaScript: function saluer(nom = "Inconnu") { [Link]("Salut " + nom); }
7. Arguments variables
Python: def somme(*args): return sum(args)
JavaScript: function somme(...nombres) { return [Link]((a, b) => a + b, 0); }
8. Arguments nommés
Python: def infos(**kwargs): return kwargs
JavaScript: function infos({ nom, age }) { return `${nom} a ${age} ans`; }
9. Fonction récursive
Python: def factorielle(n): return 1 if n == 0 else n * factorielle(n-1)
JavaScript: function factorielle(n) { if (n === 0) return 1; return n * factorielle(n-1); }
10. Fonction génératrice
Python: def compteur(n): yield from range(n)
JavaScript: function* compteur(n) { for (let i = 0; i < n; i++) yield i; }
11. Fonction asynchrone
Python: async def fetch_data(): await [Link](1); return "Données reçues"
JavaScript: async function fetchData() { let response = await fetch(...); let data = await [Link](); }