Lorsque l'on parle de variables, on pense aux valeurs et aux types. Il existe des languages fortement typés comme C ou encore Java et des langages faiblement / dynamiquement typés comme JavaScript ou Python. Il y a une nomenclature à respecter pour le nommage. Il faut déjà ne pas utiliser de mots réservés, c'est-à-dire déjà utilisés par le langage de programmation (par exemple Boolean
), dans ce cas, le programme renverra une erreur
.
Définition
Une variable possède un nom, un type et une adresse mémoire (zone mémoire où l'on stocke l'information). Une variable va contenir des nombres entiers, nombres décimaux, chaines de caractères (textes), etc.
Quand on veut mettre une valeur dans une variable, on procède à une affection. L'affection se lit de la droite vers la gauche. L'affection se fait grâce à l'opérateur =
.
Code
1const welcome = 'Hello';
2
Types
Un langage de programmation fortement typé signifique que l'on définit explicitement le type de la variable durant la déclaration. Un langage de programmation faiblement typé / dynamiquement typé signifie une grande flexibilité lors de la déclation des variables. En effet, on ne déclare pas en le type en dur, le programme va le déterminer de façon automatique durant l'exécution.
Les types de JavaScript sont assez particuliers car c'est un mélange entre types dits Primitifs et le type Objet.
Les types primitifs : Number, String, Boolean, Null, Undefined et Symbol Le type Object.
Les types de Python sont : numériques, les séquences, les dictionnaires, les classes, les instances et les exceptions. C et C++ ont une trentaine de types : char, float, int double, long int ...
Code
1const welcome = 'Hello';
2let length = 2;
3const isHidden = false;
Concaténation
On peut assembler plusieurs chaines de caractères ensemble à l'aide de ce qu'on appelle la concaténation. Parfois il faudra convertir le type soit-même pour que cela fonctionne sinon ce sera fait automatiquement par le langage. Cela est utile pour créer une phrase par exemple.
Code
1const presentation = 'I have';
2let age = 32;
3
4console.log(presentation + ' ' + age); // I have 32
5console.log(`${presentation} ${age}`); // I have 32
Mutation
Selon les types, on peut parfois changer la valeur, c'est ce qu'on appelle la mutation. Ce n'est pas le cas pour les constantes. Privilégez les constantes afin d'éviter un écrasement accidentel de la valeur de la variable.
Code
1const welcome = 'Hello';
2let length = 2;
3
4welcome = 't';
5length = 3;
6
7console.log(welcome); // error
8console.log(length); // no error
Conversion
On peut modifier le type d'une variable. Dans ce cas ont dit qu'on caste la variable. Cela peut être utile mais en général il vaut mieux éviter. Lorsque que la conversion a échoué, notamment avec les nombres, l'erreur NaN (Pas Un Nombre) va apparaître. Par exemple en JavaScript on peut effecter une conversion d'une chaine de caractères avec un int si dans la chaine de caractères c'est marqué '5'
mais pas 'five'
à l'aide du ==
.
Code
1console.log('3' + 2); // 32
2console.log('3' - 2); // 1
3console.log('five' * 2); // NaN
Portée
L'emplacement d'une variable est important car selon l'endroit, elle sera accessible ou non par une fonction. C'est ce qu'on appelle la portée de la variable. Il y a 2 types de portée :
- la portée globale : accessible partout dans le programme
- la portée locale : accessible uniquement dans une fonction
La bonne pratique est d'employer surtout des variables locales mais ce n'est pas toujours possible. Auquel cas il faudra faire attention à donner des noms différents afin d'éviter une valeur écrasée ou erreur du programme (par exemple avec une constante).
Code
1const doors = 5; // global
2
3function getDoors() {
4 const bathrooms = 1; // local
5 console.log(doors);
6}
7
8function getBathRooms() {
9 console.log(bathroom); // error
10}
11
12console.log(getDoors()); // 5
13console.log(getBathRooms()); // undefined
Conventions de nommage
Vous serez / êtes sans doute amené(e) à travailler avec d'autres développeur.ses, il est donc important de nommer les variables de façon de explicite. Il faut mettre de vrais mots par exemple, pas juste des lettres. De plus, selon les langages et le type de variable, la norme est d'utiliser le camelCase, PascalCase ou encore snake_case. Ces termes semblent exotiques mais si vous observez bien, on devine l'usage grâce à la façon dont ils sont écrits.
-
camelCase:
maVariable
-
PascalCase:
MaVariable
-
snake_case:
ma_variable
Pour Python par exemple, la bonne pratique est d'utiliser le snake_case tandis que JavaScript le camelCase ou PascalCase.
Pour revenir à la convention, on fera attention au type pour trouver le bon nom. Il faut savoir qu'il peut être très difficile de trouver un nom correct, ne vous découragez pas. Privilégiez l'anglais afin de rester consistent avec le reste du langage.
- pour un booléen on va définir le nom de la variable par rapport à son état (
true
/false
)
Code
1// bad
2const str = 'Marie';
3// good
4const firstName = 'Marie';
5
6// bad
7const zero = 0;
8
9// good
10const total = 0;
11
12// bad
13const open = true;
14const hidden = false;
15
16// good
17const isOpen = true;
18const isHidden = false;
Les variables font partie de l'essence de la programmation. Il existe toujours des types, mais selon les langages, ils sont assignés dynamiquement ou en dur. Elles ont une portée, il faut donc faire attention à l'endroit où elles sont créées afin d'éviter des collisions. On peut les modifier, les concaténer, les caster. Il y a des mots réservés par le langage de programmation, donc on ne peut pas les nommer n'importe comment sinon une erreur est affichée. Il convient de respecter les conventions de nommage.
Feedback
Did you find this content useful?
Your feedback helps us improve our content.