- + JavaScript の質問用スレッド vol.124 + [転載禁止]©2ch.net
475 :デフォルトの名無しさん[sage]:2017/12/13(水) 15:17:12.86 ID:OuVjfgAH - >>474の件ですが
レキシカルスコープを分からなかったというより ダイナミックスコープを知らなかっただけでした ダイナミックスコープはコードの実行時にコールスタックを辿って変数を決める方式で 関数の中でローカルとして宣言されていない変数を見つけると、 処理系はコールスタックを辿り、呼び出し元のスコープの中で変数を探す それを変数が見つかるか、グローバルスコープに突き当たるまで繰り返す そういうものが ダイナミックスコープだというのですが、 そんなの見たことがありません それもそのはずで、 現代のプログラミング言語のほとんどがレキシカルスコープを採用しているとのこと。 そしてレキシカルスコープはダイナミックではないスコープ、 つまり現代のほとんどのプログラマーが「スコープとはこういうものだ」 と考えているスコープです つまり構文の包含関係によって変数が決められる方式です 構文の包含関係に基づくので、変数が解決されるのは構文解析時です そんなわけで普段プログラムを書いていて、 レキシカルスコープとダイナミックスコープの違いを意識することはあまりなさそうですが 処理系の内部動作にまで視点を広げた時には、 興味深いトピックとして立ち上がってきそうですね
|
- + JavaScript の質問用スレッド vol.124 + [転載禁止]©2ch.net
479 :デフォルトの名無しさん[sage]:2017/12/13(水) 22:26:39.76 ID:OuVjfgAH - 何か気持ち悪い人が棲息していますが昔からなんでしょうか?
質問者と回答者で力を合わせて浄化を目指しましょう
|
- + JavaScript の質問用スレッド vol.124 + [転載禁止]©2ch.net
481 :デフォルトの名無しさん[sage]:2017/12/13(水) 22:54:52.19 ID:OuVjfgAH - ちなみに>>474のJavaScript Good Partsの箇所ですが
JavaScriptでJavaScriptを実装するという面白い試みを紹介している箇所だったので その記事が載っている「ビューティフルコード」をぽちりました 少し読みましたが、これも良書のにおいがプンプンします こういうセレンディピティが起きるのが質問スレの醍醐味ですね
|