microsoft / microsoft/TypeScript
Invalid error on computed property name using a variable with the same name as a constructor parameter of that class
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.4k
- Merge medio
- 1g 19h
- PR unite (30g)
- 117
Descrizione
TypeScript Version: 4.1.3
Search Terms:
Expected behavior:
No error. The downlevel emit is fine, so this won't give any unexpected behavior at runtime.
Actual behavior:
Initializer of instance member variable '[a]' cannot reference identifier 'a' declared in the constructor.
Code
const a = Symbol();
class C {
[a] = 1;
constructor(a) {}
}
Output
"use strict";
var _a;
const a = Symbol();
class C {
constructor(a) {
this[_a] = 1;
}
}
_a = a;
Compiler Options
{
"compilerOptions": {
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"strictPropertyInitialization": true,
"strictBindCallApply": true,
"noImplicitThis": true,
"noImplicitReturns": true,
"alwaysStrict": true,
"esModuleInterop": true,
"declaration": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"moduleResolution": 2,
"target": "ES2017",
"jsx": "React",
"module": "ESNext"
}
}
Playground Link: Provided
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci l’esempio TypeScript 4.1.3 segnalato con le opzioni del compilatore fornite e confronta la diagnostica con il JavaScript emesso. L’issue è completata quando il nome di proprietà calcolato che usa la variabile esterna non produce alcuna diagnostica errata, mantenendo al contempo l’output downlevel valido mostrato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- compilers
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 42/100