"const" was transformed to "var" when target is "esnext"

Ouverte
#59,877 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
javascript, typescript
Domaine
compilers

Piste de recherche

Commencez par reproduire le code fourni avec tsc et le tsconfig.json indiqué, puis examinez la gestion par le compilateur de la déstructuration de const lorsque la cible est ESNext. C'est terminé lorsque le JavaScript généré conserve const et ne produit pas la sortie var invalide ; ajoutez un test de régression pour ce cas si les tests existants du compilateur dans le dépôt identifient un emplacement approprié.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Bug Domain: JS Emit Help Wanted
🔎 Search Terms

transform, const, var, target, ECMA, esnext

🕗 Version & Regression Information
  • This is the behavior in every version I tried from Version 5.4 to Version 5.7.0-dev.20240904
⏯ Playground Link

No response

💻 Code
export const cilBlurLinear : string [ ] = [  ,  ] 
const [ ,  ] = cilBlurLinear;
🙁 Actual behavior

The JS code generated by tsc is as follows:

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cilBlurLinear = void 0;
exports.cilBlurLinear = [,];
var ;
🙂 Expected behavior

“const” should be translated as "const" instead of "var", as the target in my configuration file is "esnext".

Additional information about the issue

tsconfig.json:

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "esnext",
    "moduleResolution": "Node",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "lib": ["es2023","dom"],
    "noEmitOnError":true,
    "force":true,
    "strict":true
  },
  "include": [
    "TScorpus/*"
  ],
  "exclude": [
    "node_modules"
  ]
}

Langage dominant
Go
Étoiles
111k
Forks
14.4k
Merge moyen
1 j 19 h
PR mergées (30 j)
117

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de microsoft/TypeScript

Toutes les issues de microsoft/TypeScript

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.