タグ

TIPSとecmascriptに関するclavierのブックマーク (2)

  • 末尾再帰による最適化 - Qiita

    はじめに ES6 (EcmaScript 6)を試そうと、Babelのドキュメントを読んでいたところ、末尾呼び出し(Tail Call)の最適化をしていることにびっくり。公式リリース(2015年6月)から3ヶ月あまり経ってはいますが、ES6が末尾呼び出し最適化を仕様としてサポートしていることをようやく知りました。 現状で末尾呼び出し最適化をサポートしているブラウザはなく(ブラウザやaltJSなどのES6互換表を参照)、唯一、ES6からES5へのトランスパイラであるBabelのみが部分的(直接的な末尾再帰のみ)ではありながらサポートしているようですね。 今回の記事では、来たるES6時代(いまさらの感はありますが)に備えて、末尾再帰とその最適化について簡単に解説した上で、Babelを利用して実際にJavaScriptでの末尾再帰の最適化を実験してみたいと思います。 ざっくり概要 再帰関数 は関

    末尾再帰による最適化 - Qiita
  • ECMAScript - on Surface of the Depth -

    この言語は、HTML内に埋め込んで動きのあるページを記述するための 「JavaScript」 として知られることが多いでしょう。しかし有名すぎるためか、 意外と面白いプログラミング言語であることはあまり気付かれていないように思います。 そこでここでは、HTMLをどうこうという話は置いておいて、 言語自体についてちょっとだけ深く見ていきましょう。 処理系選び 概観 * 関数リテラル 関数オブジェクト arguments オブジェクト isa 連想配列 コンストラクタ prototype * No prototype! スコープチェイン その他色々 * いくつかのさんぷる 処理系選び (2002/12/6) 対象とする言語仕様は 「ECMA-262 ECMAScript Language Specification 3rd Edition」 とします。 TAKI氏による 邦訳 を参考にすると読

  • 1