If I need to keep using === because the type might actually be something different at runtime, it doesn't have static types.
It's exactly as statically typed as C#. Both allow explicitly-declared dynamic variables, but they're disabled by default.
=== is incidental syntax required to maintain the goal of being a superset of JS.