Équivalent de unset() en JavaScript
De Wiki PC, Wiki Informatique.
Sommaire |
Description du problème :
Je cherche à désaffecter complètement une variable en JavaScript, de la même manière que l'on fait un unset($mavariable); en PHP, cependant je ne trouve pas comment faire, je ne souhaite pas lui allouer "" ou NULL ni false ni 0 comme valeur.
Solution(s) proposée(s) :
Utiliser la fonction delete
La fonction JavaScript équivalente à un unset() en PHP s'appelle delete, on l'utilise comme suit :
// Suppresion d'une variable : delete mavariable; // Suppression d'un élément d'un tableau : delete tableau[x];
Attention, si vous utilisez delete tableau[x], tableau[x] sera "undefined" mais tableau.length garde - étrangement - la valeur qu'il avait quand tableau[x] faisait partie du tableau, si vous souhaitez réduire le tableau d'un élément, rendez-vous sur cette page : Réduire un tableau JavaScript d'un élément.
Utiliser variable = undefined
La méthode précédente ne fonctionne pas tout le temps, particulièrement, si votre variable a été déclarée avec le mot clé var, cela n'a aucun effet.
Il y a une autre méthode :
var mavariable = 'Coucou'; alert(mavariable); // Coucou mavariable = undefined; alert(mavariable); // undefined alert(typeof mavariable); undefined var tableau = ['a', 'b', 'c', 'd']; tableau[2] = undefined; alert(typeof tableau[2]); // undefined
Solution(s) déjà retenue(s) comme fonctionnelle(s) :
- Utiliser la fonction delete;