7 ms·
TypeScript's number type is a lie
- newaccountman2 4mo agoAm 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?
- bluepnume 4mo agoIn 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.
- glkindlmann 4mo agoSupporting 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 https://github.com/microsoft/TypeScript/issues/42218 [2] https://github.com/tc39/proposal-operator-overloading https://github.com/tc39/proposal-operator-overloading
- bluepnume 4mo agoProbably if nothing else, impossible to have it perform well without static typing?
- glkindlmann 4mo agoBut traversing the prototype chain (to figure out method dispatch) is also potentially slow without static typing, and we're managing that ok, no?
- bluepnume 4mo agoTrue enough. Although personally I prefer to just use regular functions rather than big inheritance chains.