12 ms·
Node.js is a server framework for quickly building small systems like server daemons with good performance and security. It's interesting how much over-engineer
by z3t4 2y ago
Node.js is a server framework for quickly building small systems like server daemons with good performance and security. It's interesting how much over-engineered it has become (blaming JavaScript) considering that it's now mainly a compiler target for web frameworks.
- boxed 2y agoIt's so easy to blame JS though. I recently rediscovered that it can't do divide by zero right. And it even does it wrong in two different ways: > 1/0 Infinity > 0/0 NaN
- spc476 2y agoThat's not the fault of JavaScript, but of IEEE-754 floating point math. The behavior you're seeing is per design.
- boxed 2y agoThat's a huge copout, and thankfully not one Python follows.
- HKayn 2y agoJavaScript's behaviour in this case is consistent if we accept that JavaScript would always rather compute the next-best gibberish than throw an error. While `1 / 0` is not a valid operation, it can be interpreted using limits. If `x` approaches 0, then `1 / x` will approach `Infinity`, hence JavaScript's result of this operation. But with `0 / 0`, there is no unambiguous interpretation, so JavaScript defaults to `NaN` as its indicator for when a number is expected, but not received in valid form. I'm not defending this behaviour of the language, just pointing out that there aren't "two different ways" of wrong behaviour at display here.