Wikipedia の第 1 級市民に関する記事では、「一部の作成者」は、言語が実行時の関数の作成をサポートしている場合、関数はその言語の第 1 級市民にすぎないと考えていると述べています。James Coglan によって書かれたこの記事は、明らかに関数をファーストクラスの市民と呼んでいます - 彼がファーストクラスの基準をめぐる論争を認識しているかどうかはわかりません。
ここに私の質問があります:
- 「実行時に作成する」という追加の基準を使用すると、JavaScript プロシージャーは第一級市民ですか?
より一般化された基準 (他のオブジェクト全体に適用可能) に基づくと、JavaScript 関数は非常に明らかに第一級の市民であることに注意してください。つまり、変数として渡すことができます。したがって、上記の基準は、あるユーザーが書いているように、「恣意的」ではない会話に興味深いダイナミクス、または少なくとも明確なダイナミクスを追加すると思います。
- もしそうなら、実行時の関数の作成は JavaScript ではどのように見えるでしょうか (これは私たちがプロミス、コールバック、匿名などと呼んでいるものですか?)
- そうでない場合、関数の作成は別の言語での実行時にどのように見えますか?