keyがどのようにして使えるようになったかわかりません

イベントオブジェクトのインスタンスはブラウザが自動的に生成して渡してくれます。
2020年8月19日
ユーザー

どこからわからなくなっているのかわからないため、順を追って説明させてください。

①keyというプロパティはKeyboardEventというオブジェクト内で定義されているものだと考えています。

②となるとKeyboardEvent.keyとして表記しなくてはならないと思うのですが...

③そもそも、eという引数の中にkeyというプロパティが定義されているわけでないと思うのですが、どうして動画内のような書き方になるのでしょうか?

少しメソッドについて自分の中で曖昧になっているかもしれません...
例えばこれ以外でも

const a = [ 1, 2, 3];

という配列があったとして、

a.forEach( score => {
  sum += score
});

という書き方もできると思うのですが、
なぜaというオブジェクトの中にあるわけではないforEachというメソッドを
. でつなげて書くことができるのでしょうか。

わかりにくい質問ですみません。
お答えいただけたら幸いです。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?