Settings

Theme

TypeScript's number type is a lie

bluepnume.medium.com

4 points by bluepnume a month ago · 6 comments

Reader

glkindlmann a month ago

Supporting operator overloading is part of the linked TS issue [1]. But I'm more curious: why did operator overloading in ES6 itself [2] die?

[1] https://github.com/microsoft/TypeScript/issues/42218

[2] https://github.com/tc39/proposal-operator-overloading

  • bluepnumeOP a month ago

    Probably if nothing else, impossible to have it perform well without static typing?

    • glkindlmann a month ago

      But traversing the prototype chain (to figure out method dispatch) is also potentially slow without static typing, and we're managing that ok, no?

      • bluepnumeOP a month ago

        True enough. Although personally I prefer to just use regular functions rather than big inheritance chains.

newaccountman2 a month ago

Am I incorrect in thinking this is not a TypeScript problem, but a problem most languages have, and that TypeScript is one of the few with a neat little solution?

  • bluepnumeOP a month ago

    In most languages you could probably solve this problem with a class. But wrapping all your numbers in a class with runtime consequences, just for a bit of extra type safety, feels quite extreme.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection