microsoft / microsoft/TypeScript
Missing Boolean.toString definition and loose valueOf definition
Dieses Issue hat noch niemand übernommen.
- 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
}
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
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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