hasOwnProperty
находится внутри прототипа Object
.
Почти все объекты наследуют прототип Object
, но не все, например:
const x = Object.create(null);
x.hasOwnProperty // undefined
Если ваш объектопределяется как any
, VS Code будет предсказывать, что объект может не наследовать от Object
, поэтому не будет отображать предложение, так как он не считается безопасным.
Если выДля лучшего прогноза определите объект как Object
, а не как any
:
const x: Object;
Если вместо этого вы уже определили тип, убедитесь, что он расширяет Object:
export interface Foo extends Object {