Not true, in the absolute worst case, unknown is what you should be reaching for, but it’s pretty rare that you can’t create some kind of type to interface with JS if it’s not already got types. You can even use jsdoc comments as type hints in the JS too if you own that code.
My not particularly hot hot-take: There’s basically no legitimate use case for any apart from “I don’t have time to type all this now, because I’m converting a massive project from JS to TS”
There are some cases where any must be used instead of unknown but they usually involve generic constraints and seem more like a bug than intended behavior
Not true, in the absolute worst case,
unknown
is what you should be reaching for, but it’s pretty rare that you can’t create some kind of type to interface with JS if it’s not already got types. You can even use jsdoc comments as type hints in the JS too if you own that code.My not particularly hot hot-take: There’s basically no legitimate use case for
any
apart from “I don’t have time to type all this now, because I’m converting a massive project from JS to TS”There are some cases where
any
must be used instead ofunknown
but they usually involve generic constraints and seem more like a bug than intended behaviorAh you’re right there, and I also agree, that feels more like a bug than by design