microsoft / microsoft/TypeScript
TS2409 is an invalid error.
Personne n'a encore pris cette issue.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.4k
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 117
Description
TypeScript Version: 3.3.0-dev.20181222
Search Terms: TS2409
Code
class A {
constructor() {
// return an arrow function
return message => {
this._message = message;
return this;
};
}
bar() {
console.log(this._message);
}
}
const a = new A();
a('hello world').bar(); // 'hello world'
Expected behavior:
No error.
Actual behavior:
src/test.ts(4,5): error TS2409: Return type of constructor signature must be assignable to the instance type of the class.
I should be able to override the object returned from a constructor.
Normally constructors don't return a value, but they can choose to do so if they want to override the normal object creation process.
Souce: MDN - new operator
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
Commencez par l’exemple de code TypeScript et examinez comment les types de retour des constructeurs sont vérifiés par rapport au type d’instance de la classe. Comparez le comportement TS2409 signalé avec la sémantique de retour des constructeurs de JavaScript ; le travail est terminé lorsque le cas valide prévu est accepté sans affaiblir les vérifications non liées des constructeurs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, typescript
- Domaine
- compilers
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 25/100