-
-
Notifications
You must be signed in to change notification settings - Fork 225
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
関数宣言、関数式、Arrow Function #20
Comments
Let’s Learn JavaScript Closures — Free Code Camp |
const f4 = () => {} とかにもちゃんと名前付くようになったのも、ES6での違い。 |
ASI 自動セミコロン挿入については関数宣言がでてきたら話す必要がある。 ステートメントは必要で、宣言は不要という認識だったけど
これを一言で説明して理解できる文章が必要 |
Arrow Functionは式しかなれない関数という言える? |
関数の種類ってどういう分類になるんだろ?
|
話の流れ的に次のような形にするとすっきりするかも。
|
http://www.ecma-international.org/ecma-262/7.0/#sec-function-definitions |
関数とはなにか?という議論がjQueryのIssueで出てきている。
|
そのissueを立てた張本人です. リファレンスが飛んでいた見てみましたが, 気づいたことがあるので報告させていただきます. 全て ECMAScript 2016 Language Specification を斜め読みした結果に沿っています.
関数は |
#20 (comment) の元ネタはたしか ECMAScriptの仕様上の関数~クラスの定義は基本的に後付な部分が多いので、そこに直感的に理解できる一貫性があるわけではないですよね。そこが説明する上で問題なんですよね。 関数であっても( 「Aは関数です。」これ以上の説明しようとした場合に、一般的なユーザーが知る必要がない内部プロパティについて言及しないと説明できなくなってしまうという問題がやっかいだなーと思ってメモってました。(Arrow Functionで定義したものも関数ですが、これは そういえば以前Callable ConstructorのProposalがあったのを思い出しました(これは却下された) |
(jQueryのissueちゃんと見てないですが、関数かを判定したいという用途なら |
確かに関数という枠組みの中での一貫性は感じられません. 「関数」としてまとめてしまうのではなく、関数の定義の仕方によって個別にその特徴を記述するのが妥当なように思えます. 例えば, 「呼べる関数を作るアロー関数」「呼ぶと例外になってしまうがconstructorとして使えるクラス定義」「呼ぶのにもconstructorとするのにも使える関数定義」といったようにです. jQueryのissueではDOMの |
jquery/jquery#3617 |
JavaScript のもう一つの「関数名」 —— name プロパティ - Qiita |
#17 基本文法
#112 関数のうち "関数宣言" について
var obj = { method : function(){} }
と書くこともできるがこれは関数式と同じThe text was updated successfully, but these errors were encountered: