Я только что переключился с JavaScript на TypeScript и преобразую кучу своего кода.
Я часто использовал этот код в JavaScript (уже преобразован в TypeScript):
function isObject (payload: any): payload is object {
const type: string = Object.prototype.toString.call(payload).slice(8, -1)
return type === 'Object'
}
Тогда я бы делал такие вещи в JavaScript
if (isObject(payload) && payload.id) return payload.id
Однако в TypeScript теперь я получаю ошибку, что id
не существует в object
.
Так что вместовозвращая payload is object
в моей функции isObject
, я думаю, что я должен вернуть что-то, что является объектом с любым реквизитом с любыми значениями.
Как я могу сделать это лучше всего?