Tous les articles pour Janvier 2017

  • Est-il si null cet undefined ?

    Si vous faites du JavaScript régulièrement —et il est de plus en plus difficile d'y couper si vous êtes développeur web—, vous vous êtes peut-être déjà posé cette question : « Quelle est la différence entre la valeur null et la valeur undefined ? ». Question qu'on ne se pose pas quand on vient d'un autre langage. Null vs Undefined

    Si nous résumons ensemble nous pouvons tomber d'accord sur le fait que :

    • Null et Undefined sont tous les deux des types ne possédant qu'une seule valeur ; les constantes respectives null et undefined.
    • Ils s'utilisent tous les deux pour indiquer « l'absence ».
    • Ils sont tous les deux évalués à false dans un contexte booléen (ex. : dans une condition if, avec l'opérateur binaire d'égalité a == b, avec l'opérateur ternaire conditionnel a ? b : c, etc.).

    En gros, ils servent donc à la même chose non ? Cette réponse ne me convient pas car, même s'il est vrai qu'à chaque première vu les comportements JavaScript semblent « loufoque », l'expérience m'a toujours prouvé que « c'était moi » qui n'avait pas compris correctement le JavaScript. Si les deux types existes, il y a forcément une raison. Voici ce qui en est concrètement dit :

    La valeur undefined appartient au type primitif Undefined et est utilisée quand aucune valeur typée n'a été assignée à une variable.

    La valeur null appartient au type primitif Null et représente l'absence de valeur, la non-existence d'une référence dans une variable.

    La distinction est plus clair ainsi non ? Pas vraiment... On va retrousser nos manches et regarder un peu ce qu'on peut éclaircir. Si vous n'avez pas le temps de suivre l'explication exhaustive et intéressante qui va suivre je vous laisse filer à la conclusion qui répond à cette question. Si par contre vous êtes curieux et/ou avez le temps de comprendre les différences, c'est juste en dessous !