Opérateurs d'affectation

Objectif

  • Connaître les différents opérateurs d'affectation et leur fonctionnement

Mise en situation

Dans un cours précédent, nous avons vu ce qu'étaient des variables et à quoi elles pouvaient servir, ainsi qu'une des manières de leur affecter une valeur. Nous allons maintenant apprendre d'autres façons de les utiliser.

Remarque

Les opérateurs d'affectation assignent des valeurs basées sur l'opérande droit à leur opérande gauche.

Affectation simple

Afin d'assigner une valeur à une variable, nous pouvons utiliser l'opérateur d'affectation simple (=). Le résultat de cette affectation sera la valeur affectée. Il est possible de chaîner plusieurs opérateurs d'affectation afin d'assigner la même valeur à plusieurs variables : c'est ce qu'on appelle une assignation par transitivité.

1
let maVariable = 5;
2
let monAutreVariable = 12;
3
const maDerniereVariable = 50;
4
5
maVariable = monAutreVariable;
6
// maVariable vaut maintenant 12
7
8
maVariable = monAutreVariable = maDerniereVariable;
9
// maVariable, monAutreVariable et maDerniereVariable valent maintenant 50
10

Remarque

On peut aussi affecter une valeur après différentes opérations, comme après une addition, une soustraction, une multiplication...

Affectation après addition

L'affectation après une addition permet d'ajouter la valeur de l'opérande droit à la variable définie à gauche. Le résultat de l'opération est affecté à la variable en question.

L'opérateur aura un comportement différent selon le type des deux opérandes. On pourra donc obtenir une concaténation dans le cas de chaînes de caractères, et une addition dans le cas de nombres.

1
let maVariableNombre = 10;
2
let monAutreVariableNombre = 50;
3
let maVariableString = "ma chaîne de caractères";
4
const monAutreVariableString = "ma deuxième chaîne de caractères";
5
const maVariableBooleen = true;
6
7
maVariableNombre += monAutreVariableNombre;
8
// Nombre + nombre réalise une addition, le résultat sera 60
9
10
monAutreVariableNombre += maVariableString;
11
// Nombre + chaîne de caractères réalise une concaténation, le résultat sera "50ma chaîne de caractères"
12
13
maVariableString+= maVariableBooleen;
14
// Chaîne de caractère + booléen réalise une concaténation, le résultat sera "ma chaîne de caractèrestrue"
15
16
maVariableString+= monAutreVariableString;
17
// Chaîne de caractères + chaîne de caractères réalise une concaténation, le résultat sera "ma chaîne de caractèresma deuxième chaîne de caractères"

Affectation après soustraction

L'affectation après une soustraction permet de soustraire la valeur de l'opérande droit à la variable définie à gauche. Le résultat de l'opération est affecté à la variable en question. Pour tout type différent de number, l'opération retournera "NaN".

1
let maVariableNombre = 10;
2
const monAutreVariableNombre = 50;
3
const maVariableString = "ma chaîne de caractère";
4
5
maVariableNombre -= monAutreVariableNombre;
6
// Nombre - nombre, le résultat sera -40
7
8
maVariableNombre -= maVariableString;
9
// NaN, l'affectation après soustraction retourne NaN pour toute opération sur des types différents de nombres

Affectation après division

L'affectation après division renvoie le quotient de l'opérande gauche comme numérateur, et de l'opérande droit comme dénominateur. Pour tout type différent de number, l'opération retournera "NaN".

1
let monNumerateur = 10;
2
const monDenominateur = 5;
3
const maVariableString = "ma chaîne de caractère";
4
5
monNumerateur /= monDenominateur;
6
// monNumerateur vaudra 2
7
8
monNumerateur /= maVariableString;
9
// monNumerateur vaudra NaN

Affectation après multiplication

L'affectation après multiplication permet de multiplier une variable par la valeur de l'opérande droit et d'affecter le résultat de cette opération à la variable. Pour tout type différent de number, l'opération retournera "NaN".

1
let maVariableNombre = 10;
2
const monAutreVariableNombre = 5;
3
const maVariableString = "ma chaîne de caractère";
4
5
maVariableNombre *= monAutreVariableNombre;
6
// monNumerateur vaudra 50
7
8
maVariableNombre *= maVariableString;
9
// monNumerateur vaudra NaN

Affectation après modulo

L'opérateur modulo permet de diviser une valeur par la valeur de l'opérande droit, et d'affecter le reste entier de cette division à la variable.

1
let maVariableNombre = 78;
2
const monAutreVariableNombre = 4;
3
const maVariableString = "ma chaîne de caractère";
4
5
6
maVariableNombre %= monAutreVariableNombre;
7
// maVariableNombre vaudra 2
8
9
maVariableNombre %= maVariableString;
10
// maVariableNombre vaudra NaN

SyntaxeÀ retenir

  • Nous connaissons maintenant des méthodes d'affectation de valeur à une variable autres que l'affectation simple : l'affectation après addition, soustraction, division, multiplication, et le modulo.