book
book copied to clipboard
記事への追記:TypeScriptにおける関数宣言の扱いについて
問題提起
https://github.com/yytypescript/book/edit/master/docs/reference/functions/function-declaration-and-hoisting.md
こちらのページについて、以下の2点から
「TSにおける関数宣言について」訂正・追記が望ましいと考えます。
1. さらに丁寧な解説
TypeScriptにおける「const
を使用した関数式」についての説明はありますが
「function
から始まる関数宣言」については記載がありません。
関数宣言についても記載するのが親切かと思います。
2. 誤解の余地を減らし、適切な解説を追加
[画像1]の「定義前の関数を呼び出そうとするとコンパイラーが指摘してくれます」という説明について
この表現は「『関数宣言』『関数式』どちらでも、定義前の呼び出しに対し指摘してくれる」という誤解を生むかと思います。
実際には、TypeScriptであっても「関数宣言の定義前呼び出し」については特に指摘はしないはずです。
([画像2]では関数宣言hello()
に関しては指摘がなく、関数式hello2()
には指摘が入っている)
具体的な変更内容
以上の2点から、「TSにおける関数宣言について」訂正・追記が望ましいと考えます。
具体的には、
- 「定義前の関数を...」→「定義前の関数式を...」に変更
- 以下の説明を追加
関数宣言の場合は、JavaScriptと同じくエラーは発生しません。
巻き上げにより、問題なく実行されます。
hello(); // Hello World
function hello() {
console.log("Hello World");
};
PRの作成について
PRの作成は私の方でさせていただこうと考えておりますが、 管理者の方にご対応いただいても問題ございません。
以上、ご意見・ご検討よろしくお願いします。
参考画像
[画像1]
[画像2]