It has static types because the compiler won't let you change a variable's type.
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.