microsoft / microsoft/TypeScript

Intl.Collator#compare method type does not match spec

Ouverte
#62,048 5 commentaires 1 réaction 2 personnes assignées Voir sur GitHub

@RyanCavanaugh y travaille déjà.

Depuis le 19/9/2026.

  • #64344 par @copilot-swe-agent — ouverte
Bug Domain: lib.d.ts Help Wanted Needs Human Review
Langage dominant
Go
Étoiles
111k
Forks
14.3k
Merge moyen
2 j 4 h
PR mergées (30 j)
132

Description

### ⚙ Compilation target

ES2022

### ⚙ Library

N/A

### Missing / Incorrect Definition

The [Intl.Collator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Collator) object has a `compare` method which is declared as `compare(x: string, y: string): number;` but according to [the relevant spec](https://tc39.es/ecma402/#sec-intl.collator.prototype.compare) is actually `get compare(): (this: void, x: string, y: string) => number`. Importantly, the spec states that

> The returned function is bound to `collator` so that it can be passed directly to `Array.prototype.sort` or other functions

### Sample Code

I'm having trouble putting together a Playground example that cares about the difference (which is admittedly subtle!) but it's the cause of https://github.com/typescript-eslint/typescript-eslint/issues/7098

### Documentation Link

[Collator#compare spec](https://tc39.es/ecma402/#sec-intl.collator.prototype.compare)
[MDN docs on compare method](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare#using_compare_for_array_sort)

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.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

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