flow type question mark before or after param?
Basically
bar: ?string
accepts a string, null or void:
foo("test");
foo(null);
foo()
While
bar?: string
Accepts only a string or void:
foo("test");
foo();
As passing null instead of a string is somewhat senseless, theres no real life difference between them.
?string
(maybe type) means that bar
property can be string
aswell as null
and void
.
bar?
means that this property is optional.
More info: https://flow.org/en/docs/types/primitives/