Consider the following code:
<code>const { name } = "something" as unknown;
</code>
<code>const { name } = "something" as unknown;
</code>
const { name } = "something" as unknown;
When I enable Typescript’s strictNullChecks
, I get the following error message:
<code>Error: Property `results` does not exist on type `unknown`
</code>
<code>Error: Property `results` does not exist on type `unknown`
</code>
Error: Property `results` does not exist on type `unknown`
Which sounds about right.
But when I disable strictNullChecks
, I get the following error message:
<code>Error: Property `results` does not exist on type `{}`
</code>
<code>Error: Property `results` does not exist on type `{}`
</code>
Error: Property `results` does not exist on type `{}`
What does {}
mean here?
I only know {}
as non-nullish value. But why is it inferred here instead of unknown
?