タグ

JavaScriptとCoffeeScriptに関するnyangryのブックマーク (4)

  • さよなら CoffeeScript - mizchi's blog

    prototype.js が jQuery に置き換えられた時、開発者が気づいたのは、自分に当に必要だったのはprototypeのメソッド拡張などではなく、クエリエンジンだったということ。 coffeescriptが当初、熱狂的に支持された背景はなんだっただろう。今思えば、それはアロー記法とクラス構文だったと思う。 javascriptの関数型への憧れ、prototypeベースの限界 javascript は断じて関数型言語ではないが、他の言語と同じぐらい関数型言語に憧れていたのも、また事実だろう。しかしビルトイン関数が高階関数を要求するデザインにしては function というキーワードはながすぎたし、その function が暗黙に作り出す this スコープの複雑な振る舞いも開発者の悩みの種だった。「あらゆる関数スコープで状態を持つことが"できすぎる"」という割れ窓だった。 ES5

    さよなら CoffeeScript - mizchi's blog
  • CoffeeScript でクラスベースのオブジェクト指向プログラミングをするための基礎知識 - わからん

    CoffeeScript にはクラスを定義するための枠組みが言語自身にあります。この記事では、CoffeeScript でのクラス、継承といった基的な概念を「使う」ための知識と、「理解する」ための解説を書きました。JavaScript をある程度しっており、CoffeeScript をみようみまねでなんとなく使っている人を想定した内容です。念の為申し添えておきますが、JavaScript でのクラスベースのプログラミングの是非は論じていません。 クラス周辺の言語の機能、ひとめぐり class Dog を JS に展開してみます。大きく括るとコンストラクタ関数でクラスを模倣するタイプだとわかります。 class Dog # (function() { # var Dog; # Dog = (function() { # function Dog() {} # return Dog; # }

  • ECMAScript6を使うのは5年ぐらい時期尚早だった - None is None is None

    新製品のWEB UIを作ることになりました。 「functionって書くのダルいから、CoffeeScriptにしましょうよ」 「でもCoffeeScriptって、そろそろオワコンじゃないか?」 「ちょっと待てよ、そろそろES6(ECMAScript6、JavaScriptの次期標準、後述)が使えるようになってるんじゃないか!?」 そう思ってES6を調べましたが、やっぱりCoffeeScriptを使うべきだという結論に達しました。 CoffeeScriptとES6のおさらい CoffeeScriptはいわゆるAltJS 長所 「functionの代わりに->」「ローカル変数にvarが不要」といったイケてる文法が使えます。 事前にJavaScriptにコンパイルして使う。*1 Ruby on Railsが対応しているなど、かなり普及しているようです。 短所 事前コンパイルが必要なので製品のビ

    ECMAScript6を使うのは5年ぐらい時期尚早だった - None is None is None
  • The Little Book on CoffeeScript - Classes

    クラス JavaScriptのクラスは純粋主義者にとってニンニクがドラキュラに対して与えるものと同様な影響を持っていました。とはいえ、正直に言ってあなたがそのような傾倒をお持ちでしたらCoffeeScriptのを呼んだりはしないでしょう。しかし、クラスは他の言語と同じようにJavaScriptでもとても便利であると判明しました。そしてCoffeeScriptは素晴しい抽象化を提供します。 その裏では、CoffeeScriptはJavaScriptのネイティブなprototypeをクラスを作成するのに用いています。少しの構文糖を静的なプロパティの継承とコンテキストの永続化のために用いています。開発者としてのあなたに見えるのはclassキーワードだけです。 class Animal この上の例ではAnimalがクラス名であり、かつ結果としてインスタンスの作成に用いる変数です。裏側ではCoff

  • 1