DEV Community

Discussion on: Do you use Static Typing in JavaScript?

Collapse
 
nickytonline profile image
Nick Taylor

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?

Collapse
 
nektro profile image
Meghan (she/her)

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".

Thread Thread
 
nickytonline profile image
Nick Taylor

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:

// @flow
function square(n: number): number {
  return n * n;
}

square("2"); // Error!

What they're showing here is that the type checker won't allow you to call the function with a string.