Unable to list event object properties [duplicate]

Sorry if this is a duplicate, but I searched and cannot find the information I am looking for. I’m learning about the javascript event object:

Why can’t I list all of the event object properties using Object.keys() or getOwnPropertyNames()? I expected them to list all accessible properties on the event object.

e.g. (look below for source or checkout the code-pen if you prefer):
https://codepen.io/dleskydev/pen/GRGXwpr?editors=1011

<button> Click Me </button>

let button = document.querySelector("button")
button.addEventListener("click", listProperties) 

function listProperties(event) {
  console.log(`keys:  ${Object.keys(event)}`).  //keys: isTrusted
  console.log(`property names: ${Object.getOwnPropertyNames(event)}`) // property names: isTrusted
  console.log(`type:  ${event.type}`) // "type:  click"
  console.log(`button:  ${event.button}`) //// "button:  0"
}

I’m assuming that “event.target” or “event.type” or “event.button” aren’t properties in the usual way that we think about them, but I have no additional insight into why. Instead of checking the reference for each event type, I figured it would be nice to just list all the associated properties, but all I get is the value of the ‘isTrusted’ property.
Clearly ‘type’ and ‘button’ are accessible properties on the event object, yet they do not appear with Object.keys(event) or Object.getOwnPropertyNames(event)…

Thanks for your help!
Dan