microsoft / microsoft/TypeScript

Missing Boolean.toString definition and loose valueOf definition

Offen
#60,517 3 Kommentare 6 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Awaiting More Feedback Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

⚙ Compilation target

ES2017

⚙ Library

lib.es5.d.ts

Missing / Incorrect Definition
interface Boolean {
    toString<T extends boolean>(this: T): `${T}`
    toString(this: Boolean): `${boolean}`
    valueOf<T extends boolean>(this: T): T
    valueOf(this: Boolean): boolean
}

TS Playground

Related issues #30225, #38347

Sample Code
const bool = true as boolean;


let a: `${boolean}` = true.toString();
let b: `${boolean}` = false.toString();
let c: `${boolean}` = bool.toString();
let d: `${boolean}` = new Boolean().toString();
let e: `${boolean}` = Boolean().toString();

let f: true = true.valueOf();
let g: false = false.valueOf();
Documentation Link

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/toString
https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-boolean.prototype.tostring
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/valueOf
https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-boolean.prototype.valueof

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in lib.es5.d.ts und vergleiche die Boolean-Deklarationen mit den vorgeschlagenen Signaturen des Issues und den verlinkten ECMAScript-Referenzen. Überprüfe, ob die Beispielzuweisungen für toString und valueOf mit den vorgesehenen Literalschreibweisen kompiliert werden; abgeschlossen bedeutet, dass die fehlenden und zu weit gefassten Definitionen korrigiert sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.