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".
3 votes
Voir aussi en lecture seule, différence avec const (livre TypeScript Deep Dive).
6 votes
mise à jour du lien vers le livre