この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript クイズ
58. inherit getter setter
出力は以下の通りです:
0
1
0
2
2
class A
はfoo
という getter と setter を持ちます。このコードでは値を保持するためのval
変数を使用します。class B
とclass C
はclass A
を継承しています。const b
を作成し、b.foo
をログに出力すると、class A
からfoo
を継承するため、val
の現在の値の0
を出力します。b.foo = 1
を実行してからb.foo
をログに出力し、値1
を出力します。const c
を作成し、c.foo
をログに出力すると、class C
内のget foo()
が呼び出され、val
の現在の値の1
が返されます。c.foo = 2
を実行すると、set foo()
メソッドがclass A
から継承されるため、val
が2
に更新されますが、次の行でget foo()
メソッドが実行され、val
の現在の値の1
が再び返されます。- 最後に
b.foo
をログに出力し、c.foo
を更新する前にval
の値を更新したため、2
が返されます。