Maison >interface Web >js tutoriel >Quand et pourquoi devriez-vous utiliser l'instruction \'with\' de JavaScript ?
Dévoilement des avantages potentiels de la déclaration « with » de JavaScript au-delà de ses pièges
La déclaration « with » de JavaScript, souvent considérée avec scepticisme, offre applications pratiques lorsqu’ils sont utilisés avec soin. Comme le démontrent les commentaires perspicaces d'Alan Storm, explorons les cas où « with » prouve sa valeur.
Création de variables à portée de bloc
Avant l'introduction de « let » dans ES6, JavaScript manquait de véritable portée de bloc. Cet obstacle pourrait entraîner des collisions de variables inattendues dans les boucles, comme dans le code suivant :
for (var i=0; i<3; ++i) { var num = i; setTimeout(function() { alert(num); }, 10); }
En utilisant "with", cependant, nous pouvons simuler efficacement la portée du bloc :
for (var i=0; i<3; ++i) { with ({num: i}) { setTimeout(function() { alert(num); }, 10); } }
Ici, chaque itération de la boucle a sa propre variable discrète "num", résolvant le problème des conflits de variables.
Autre Cas d'utilisation légitimes
Au-delà de son potentiel de limitation de la portée des blocs, l'instruction « with » trouve son utilité dans diverses situations :
Simplification de l'accès aux objets : "avec" permet d'accéder de manière concise aux objets imbriqués propriétés :
with(obj) { console.log(name + " is " + age + " years old."); }
Gestion des variables d'instance privées : L'encapsulation peut être améliorée à l'aide de "with" pour créer des variables d'instance pseudo-privées dans les objets :
function Person(name, age) { with(this) { this.name = name; this.age = age; } }
Il est crucial de souligner que « avec » doit être utilisé judicieusement, car son potentiel les inconvénients peuvent être importants. En l’employant avec parcimonie et en comprenant clairement ses implications, on garantit que ses avantages l’emportent sur ses risques. En adoptant ces cas d'utilisation légitimes, les développeurs peuvent exploiter la puissance du « avec » en JavaScript tout en atténuant ses pièges.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!