111 votes

Différence entre const et readonly dans les scripts.

Constant vs readonly dans les scripts

Déclarer une variable comme readonly ne nous permettront pas de les remplacer, même s'il s'agit de propriétés publiques.

Comment se comporte la constance,

const SOME_VARIABLE:number = 10;

Si je modifie sa valeur, comment cela fonctionnera-t-il ?

3 votes

Voir aussi en lecture seule, différence avec const (livre TypeScript Deep Dive).

6 votes

1voto

Greg Points 1

Je pense que la raison des deux mots est probablement que c'est plus facile à mettre en œuvre que l'alternative.

En C++, par exemple, les classes peuvent avoir des membres constants. Mais le C++ dispose d'une syntaxe spéciale pour initialiser les constantes avant l'exécution du constructeur, de sorte qu'il n'y a jamais vraiment d'"affectation" aux constantes, par exemple :

class TestClass {
    const int _x;
    TestClass(int x) : _x(x) {}
}

Le _x(x) initialise la variable _x avant que le constructeur ne soit appelé.

Dans Typescript, si l'on voulait permettre aux membres d'être déclarés const et si l'on voulait vraiment que les variables soient constantes, il faudrait ajouter une syntaxe similaire.

"readonly" n'est pas vraiment la même chose que "const". Il signifie, je pense, quelque chose de légèrement différent. Cela signifie "autoriser l'affectation à l'intérieur du constructeur, mais pas plus".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X