TS v3.x brought new type: unknown. But it's not very clear how to easily use this type instead of any.
Example: you're using some 3rd party library which has no types. And you don't have time to write those types yourself. You need to handle some data provided by that library.
Before unknown:
function handle(data: any) {
if (data && data.arrayProp && typeof data.arrayProp[Symbol.iterator] === 'function') {
for (let x of data.arrayProp) {...}
}
}
With unknown:
function handle(data: unknown) {
// this line gives TS error: `data` is unknown type
if (data && data.arrayProp && typeof data.arrayProp[Symbol.iterator]=== 'function') {
...
Most docs in internet are using kind of instanceof ways to check what type data has. But i'm not really interested what type data has. Everything i want to know is if there's arrayProp there. that's it
How to do this with unknown type?