Functionとconstの宣言の違いに関してまとめてみたZennミカイ📌Functionとconstの宣言の違いに関してまとめてみた2023/03/26に公開・約1,700字ツイートJavaScript#function#consttech2つの宣言方法についてまず、constで宣言される関数の宣言は、アロー関数式を使用している。以下のようなコードです。{props.name}!</h1>;}一方、通常のfunctionを使用する場合には、以下のようなコードです。{props.name}!</h1>;}違いはあるのか?両方の宣言方法には、関数の機能上の違いはあまりない。アロー関数式は、関数の宣言を簡潔にするために一般的にはアロー関数が使われることが多いと思われる。アロー関数式は、thisの動作についても異なる。undefinedarrowFunctionを呼び出すと、myPropertyの値が正常に出力されます。これは、アロー関数式ではthisキーワードが、関数が宣言された場所にバインドされるため。regularFunctionを呼び出すと、TypeErrorが発生します。これは、通常のfunctionではthisキーワードが、関数が実行されたコンテキストにバインドされるため。そのため、myFunction内でthisキーワードを使用すると、myInstanceオブジェクトを参照できないため、TypeErrorが発生。コンテキストにバインドするとは?「コンテキストにバインドする」とは、thisキーワードがどのオブジェクトを参照するかを決定することを指す。JavaScriptでは、thisキーワードは実行時に動的に決定される。thisキーワードは、どのオブジェクトが呼び出し元であるかによって異なるオブジェクトを参照することがあります。World!"このコードでは、myObjectというオブジェクトを定義し、その中にmyPropertyとmyMethodという2つのプロパティを定義しています。myMethodは、functionを使用して定義される。World!"が表示される。これは、myMethodが呼び出し元であるmyObjectオブジェクトがthisキーワードの参照先になっているため。このように、thisキーワードが参照するオブジェクトは、呼び出し元によって異なるため、動的に決定される必要がある。ツイートミカイ目先の得に囚われない努力大好きエンジニアです!バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフト券が還元されます。約1,700字ミカイ目先の得に囚われない努力大好きエンジニアです!バッジを贈るバッジを贈るとは?目次2つの宣言方法について違いはあるのか?コンテキストにバインドするとは?Zennエンジニアのための情報共有コミュニティAboutZennについて運営会社お知らせ・リリースGuides使い方Publicationよくある質問LinksTwitterGitHubメディアキットLegal利用規約プライバシーポリシ。