JavaScript actually has a pretty small number of type primitives; I'd say that the bad rap about JS's typing is due to the absolutely mind-boggling type conversion rules (which are nevertheless part of the specification).
Even if that wasn't the case, their design just avoids the issue by not trying to do any typecast, ever.