Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
There are three situations in which the compiler ignores type mismatch errors in strict mode, deferring possible type errors until runtime:
When an untyped expression is assigned to a typed variable or parameter, or returned from a function with a declared return type
When any expression is assigned to a typed variable or parameter whose declared type is Boolean, or returned from a function whose declared return type is Boolean
When any numeric value is used where an instance of a different numeric type is expected