JavaScript : Variables et constantes

Il est absolument indispensable de déclarer les variables, sinon une erreur de compilation surgit.

Les types de variables sont : Boolean, Number, String et Undefined

Déclaration des variables

Le simple fait d'attribuer une valeur aux variables lors de leur déclaration leur impose le type convenant

LeTexte est une variable de type Chaîne de caractères :

var LeTexte = "Un beau texte"

Taille est de type Numeric, ainsi que NombrePi :

var Taille = 3
var NombrePi = 3.141592

Vivant est de type Booléen :

var Vivant = true

Rien n'empêche de changer d'idée en cours de route, et de transformer une variable Numeric en String :

var X = 55
X = "test"
document.write (X)

Constantes

S'il s'agit d'une variable dont la valeur ne doit jamais changer après, on remplace var par const :

const X = 5
X = 7 // Provoque une erreur de compilation

Déclaration de variable avec type explicite

Pour éviter de s'emmêler les pinceaux, on déclare explicitement les variables. Attention : Même si on déclare explicitement les variables, on pourra quand même leur mettre n'importe quoi dedans :

var X = new Boolean()
X = 33

Ne provoque pas d'erreur, et X contiendra vraiment 33

On peut également initialiser la variable en même temps qu'on la déclare :

var X = new Boolean(true)

Variable booléenne (Vrai/faux)
var X = new Boolean()
Chaîne de caractère
var X=new String("Vive les vacances")
Nombre
var X=new Number(2)

Récupération du type de la variable

Grâce à typeof, nous allons pouvoir constater le type de la variable :

var X = 55
alert (typeof(X))

Va afficher number.

var X = 55
X = true
alert (typeof(X))

Va afficher boolean.

Valeurs booléennes : boolean
Nombres entiers ou décimaux : number
Chaînes de caractère : string
Variables non-initialisée : undefined

Conversion de variables

D'un nombre vers une chaîne de caractères : String

var X = 55
alert (typeof(X)) // number
X = String(X)
alert (typeof(X))
// string

D'une chaîne de caractères en nombre : Number

var X = "67"
alert (typeof(X)) // number
X = Number(X)
alert (typeof(X)) // string
alert (X) // 67

Le principe est exactement le même avec Boolean

X converti devient ainsi 67. Mais si X à la base avait été par exemple "67abc", alors X aurait valu NaN (Not a Number)

Une variable est-elle ou peut elle être considérée comme un nombre ?

Il est possible avec isNaN de déterminer si une variable est un nombre ou pas :

var X = "1x"
alert (isNaN(X)) // true (pas un nombre)
X = 56
alert (isNaN(X)) // false (est un nombre)
X = "56"
alert (isNaN(X)) // false (est un nombre, même si sous forme de String)