この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript クイズ
102. Arrow Function II
出力結果は以下の通りです:
bigfrontend
BFE
BFE
site.getHandle()
はオブジェクトを返し、そのオブジェクトの getName1()
、getName2()
、getName3()
はそれぞれ this.name
を返しています。
getName1()
は通常の関数で、実行時の this
は呼び出し元のコンテキストによって決まります。ここでは site.getHandle()
が this
として使われているため、期待通り bigfrontend
が返されます。
getName2()
はアロー関数で定義されており、アロー関数内では実行時の this
が定義されないため、外側の Site
インスタンスが使われます。よって、 BFE
が返されます。
getName3()
は通常の関数で、実行時の this
は呼び出し元のコンテキストによって決まりますが、ここで this
は getName3()
内において定義されたものです。 getName3()
は Site
クラスに定義された関数ではないため、this
はグローバルなコンテキストになります。グローバルなコンテキストでは name
は定義されていないため、undefined
が返されます。