YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Japanese subtitles

← 06-29 Anonymous Functions

Get Embed Code
3 Languages

Showing Revision 1 created 10/23/2014 by Udacity.

  1. JavaScriptインタプリタに無名関数や
    入れ子になった関数を扱えるという機能があります
  2. テストするのが非常に難しい機能なので
    一緒に見ていきます
  3. Pythonの例を思い出しますね
  4. greeterという入れ子の関数を返して
    最終的にhello gracieと出力されました
  5. 同じプログラムをJavaScriptで書きます
  6. 少々文法が異なりますが内容は同じにします
  7. まず変数greetingをholaで初期化します
    こちらも同様です
  8. 関数makegreeterを定義して
    仮引数greetingを受けます
  9. こちらも同様です
  10. 入れ子の関数greeterを作って
    personを引数に取ります
  11. こちらでは変数greeterに
    1つの引数personを取る関数を代入します
  12. Pythonではdefという予約語を使いますが
    JavaScriptではfunctionを使います
  13. 引数のpersonは同じです
  14. printの代わりにwriteを呼んで
    greeterを返します
  15. sayhelloにはmakegreeter(“hello”)の
    返り値を入れます
  16. こちらも同様です
  17. そしてそれを終わりに呼び出します
  18. 最も重要な部分です
  19. JavaScriptではfunctionという予約語を使って
    ここでは変数greeterに代入しています
  20. 名前をつけなくても どこにでも
    すぐ新しい関数を作れるのです
  21. トップレベルに名前つきで
    関数を定義することもできます
  22. ここではfunctionのあと
    すぐに引数を並べています
  23. 名前はつけていません
  24. これが無名関数と呼ばれるものです
  25. 小テストです このような無名関数を
    JavaScriptインタプリタで扱えるようにします
  26. まず私が書くので完成させてください
  27. 無名関数は式です
  28. このような代入文の右側に書けるものは
    すべて式です
  29. さまざまな種類の式があります
  30. 数値、文字列、二項演算などありますが
    今は関数を扱います
  31. x、yという2つの引数を持ち
    その和を返す関数を作りましょう
  32. これに対応する抽象構文木は
  33. 識別子の位置にfunctionと書いてあり
    ノードの種類を示し
  34. 引数のリストを持ち
    最後に本体の文のリストがあります
  35. 4つの空欄を埋めてください
  36. ある値を返しますが その値は関数に対応します
  37. インタプリタで関数定義や関数呼び出しを
    扱ったことを思い出してください
  38. 関数は4項タプルでfunctionという文字列を持ち
    本体や環境や引数をある順番で持っていました