En JavaScript, la portée d'une variable définit où elle peut être utilisée dans le code. Les variables peuvent être déclarées dans différents types de portée :
Portée Globale
Portée Locale (fonction)
Portée de Bloc (introduction avec let et const)
Exemple de Portée Locale
Les variables déclarées dans une fonction sont accessibles uniquement au sein de cette fonction, elles ont donc une portée locale :
function calculateArea() {
var area = 10 * 5;
console.log("Surface locale: " + area);
}
calculateArea();
// Tentative d'accès à area hors de la fonction
console.log("Surface globale: " + area); // Erreur
Sortie :
Surface locale: 50
Erreur : area n'est pas défini en dehors de la fonction
Exemple de Portée Globale
Les variables déclarées en dehors de toute fonction sont accessibles partout dans le script :
// Variable globale
var user = "Alice";
function showUser() {
console.log("Utilisateur (fonction): " + user);
}
showUser();
console.log("Utilisateur (global): " + user);
Sortie :
Utilisateur (fonction) : Alice
Utilisateur (global) : Alice
Modifier une Variable Globale dans une Fonction
Il est possible de modifier une variable globale à l'intérieur d'une fonction :
var score = 0;
function updateScore() {
score += 10;
console.log("Score dans la fonction : " + score);
}
updateScore();
console.log("Score global : " + score);
Sortie :
Score dans la fonction : 10
Score global : 10
Variables au Niveau de Bloc
Avec ES6, les variables déclarées avec let et const sont limitées à la portée du bloc dans lequel elles sont définies :
function showBlockScope() {
let message = "Portée locale";
if (true) {
let message = "Portée de bloc";
console.log("Message dans le bloc : " + message);
}
console.log("Message hors du bloc : " + message);
}
showBlockScope();
Sortie :
Message dans le bloc : Portée de bloc
Message hors du bloc : Portée locale
Utilisation des Variables sans Déclaration
Il est également possible de créer des variables globales implicitement en omettant le mot-clé var, let, ou const. Cela n'est pas recommandé car cela peut entraîner des comportements inattendus :
function setGlobalVariable() {
implicitGlobal = "Je suis global sans déclaration";
}
setGlobalVariable();
console.log(implicitGlobal); // Accessible globalement
Sortie :
Je suis global sans déclaration
Si vous avez trouvé ce cours en JavaScript de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage ! Contact WhatsApp : +237 652027193 | Réaliser Par Joël_Yk