@Hao
Tu peux assigner une valeur avec les 3. Lis les articles.
Si tu veux assigner "encore une fois" une valeur à une variable déjà définie, c'est let et var. (const pour 'constante').
// CONST
// Valeur constante, elle ne pourra plus être changée. Sa portée est celle du bloc, sauf si elle est définie hors d'une fonction, là elle sera globale.
// Puisqu'elle ne peut plus être changée, obligé logiquement de lui attribuer une valeur dès le départ.
const foo = 'valeur'
// LET
// Peut voir sa valeur changée, pas obligé de lui définir une valeur à l'initialisation. Sa portée est celle du bloc.
let foo
foo = 'une valeur'
foo = 'une autre valeur'
// VAR
// Comme LET, mais elle est accessible dans toute la fonction où elle se trouve, quand LET n'est accessible que dans son bloc.
var foo
foo = 'une valeur'
foo = 'une autre valeur'
var foo = 'encore une autre valeur' // Oui, on peut remettre 'var', alors que ça te pètera à la gueule si tu remet un 'let' pour une variable variable déjà existante (tout comme 'const', bien entendu).