Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

記事への追記:TypeScriptにおける関数宣言の扱いについて #860

Closed
Kohki-Takatama opened this issue Apr 14, 2024 · 3 comments · Fixed by #896
Closed

記事への追記:TypeScriptにおける関数宣言の扱いについて #860

Kohki-Takatama opened this issue Apr 14, 2024 · 3 comments · Fixed by #896

Comments

@Kohki-Takatama
Copy link
Contributor

問題提起

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における関数宣言について」訂正・追記が望ましいと考えます。

具体的には、

  1. 「定義前の関数を...」→「定義前の関数式を...」に変更
  2. 以下の説明を追加
    関数宣言の場合は、JavaScriptと同じくエラーは発生しません。
    巻き上げにより、問題なく実行されます。
hello(); // Hello World

function hello() {
  console.log("Hello World");
};

PRの作成について

PRの作成は私の方でさせていただこうと考えておりますが、
管理者の方にご対応いただいても問題ございません。

以上、ご意見・ご検討よろしくお願いします。

参考画像

[画像1]
スクリーンショット 2024-04-15 6 53 01
[画像2]
スクリーンショット 2024-04-15 6 42 33

@jamashita
Copy link
Contributor

@Kohki-Takatama ご報告ありがとうございます。たしかにその通りですね。
PRお待ちしてもよろしいでしょうか?もし着手が難しそうであればこちらで対応いたしますので
遠慮なくご報告ください 🙇

@suin
Copy link
Contributor

suin commented Sep 30, 2024

@Kohki-Takatama PRありがとうございました!

@Kohki-Takatama
Copy link
Contributor Author

@suin マージありがとうございます!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants