microsoft / microsoft/TypeScript
Object.freeze after object creation doesn't error
Personne n'a encore pris cette issue.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.3k
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 117
Description
TypeScript Version: 3.5.1
Search Terms: Object.freeze, freeze, freezing, properties, object, objects, property
Code
const a = Object.freeze({a: 0});
a.a = 1; // Error: Cannot assign read-only property
const b = {b: 0};
Object.freeze(b);
b.b = 1; // No error?
const c = {c: {d: 0}};
Object.freeze(c.c);
c.c.d = 1; // No error?
Expected behavior:
Cannot assign read-only property errors for the two lines with "No error?" above.
Actual behavior:
No errors
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Reproduisez les trois exemples de Object.freeze dans le TypeScript Playground lié et comparez les diagnostics pour chaque affectation. Suivez le chemin de vérification des types qui gère les appels à Object.freeze et vérifiez le comportement à l’aide de tests ciblés du compilateur. C’est terminé lorsque les deux affectations effectuées après la création produisent l’erreur attendue concernant une propriété en lecture seule, sans régression dans le premier exemple.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- compilers
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 35/100