Équivalent de unset() en JavaScript

De Wiki PC, Wiki Informatique.

Version du 4 juin 2010 à 16:54 par Troll (discuter | contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

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 (ne fonctionne pas sur les variable globales déclarées par var)
  • Utiliser le = undefined (fonctionnelle tout le temps jusqu'à présent, si vous trouvez une exception, merci d'utiliser 'Discussion' en haut de cette page)

Informations annexes :

Outils personnels