Reason got rid of constand template strings, requires | to define and array, can't use function to define a function, replaced throw new Error with raise(Error(, and made blocks act like functions.
TypeScript is actually pretty nice but I try to stay away from having a build process if I can and Vanilla JS usually does me just fine and I like having full control over my code so I don't bother.
All in all, I'd love if JavaScript had static typing but for right now I don't use compilers for it.
I'm a fan of Open Source and have a growing interest in serverless and edge computing. I'm not a big fan of spiders, but they're doing good work eating bugs. I also stream on Twitch.
The way that I interpreted this example from their homepage is that the type checker is assuming that n should be a Number since the function uses n * n which is fair, but then the function is called with the String and it says the error is in the function and I believe that the function definition should take precedence on which type is "right".
I'm a fan of Open Source and have a growing interest in serverless and edge computing. I'm not a big fan of spiders, but they're doing good work eating bugs. I also stream on Twitch.
This is why I don't use Flow. The function should take precedence.
Reason got rid of
const
and template strings, requires|
to define and array, can't usefunction
to define a function, replacedthrow new Error
withraise(Error(
, and made blocks act like functions.TypeScript is actually pretty nice but I try to stay away from having a build process if I can and Vanilla JS usually does me just fine and I like having full control over my code so I don't bother.
All in all, I'd love if JavaScript had static typing but for right now I don't use compilers for it.
I haven't used Flow, but I'm not following your comment. Do you mean that the coerced value
2
from"2"
should pass here?The way that I interpreted this example from their homepage is that the type checker is assuming that
n
should be aNumber
since the function usesn * n
which is fair, but then the function is called with theString
and it says the error is in the function and I believe that the function definition should take precedence on which type is "right".Maybe it's not clear on their site., The function definition takes precedence like you thought it should.
Here's the example on their site:
What they're showing here is that the type checker won't allow you to call the function with a string.