Notice that the type object is not the same as the type {}
I'm not seeing any reference to this in the link that you provided. Also, when you define something as type object, TS's own error messages refer to it as type {}. So while I freely admit that maybe there's something that I'm just not "getting" here, it would seem that object is indeed identical to {}??
any basically does that. So a better way would be to use { [key:string]: unknown }
In this scenario it may be better, since we're just comparing the values. But as a general way to define objects, that wouldn't work, because unknown would keep us from setting any new value on the object.
Also, if defining it as an interface is something that bothers you (rightfully so) know that it needn't be defined as a separate type, it could be inline in the function declaration.
Good point. Thanks for demonstrating the shorthand.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I'm not seeing any reference to this in the link that you provided. Also, when you define something as type
object
, TS's own error messages refer to it as type{}
. So while I freely admit that maybe there's something that I'm just not "getting" here, it would seem thatobject
is indeed identical to{}
??In this scenario it may be better, since we're just comparing the values. But as a general way to define objects, that wouldn't work, because
unknown
would keep us from setting any new value on the object.Good point. Thanks for demonstrating the shorthand.