CoffeeScriptでは、?は 「?の手前の値が存在するかチェックするコード」 に変換するためのものだから、 三項演算子にコンパイルするすべがないと思ってたけど、 普通にあった。
だいたいJavaScript、CoffeeScript両方のコードサンプルを書いてあるけど、横着してそうでないのもチラホラ。 letに相当する何か / スコープを守ろう まずは簡単なところから。 JavaScriptは関数スコープ forやif等でスコープが作られる文化圏から来た人は注意。 思わぬところで思わぬ変数にアクセスできる。 var sum = 0; for (var i = 0; i < 10; i++) { sum += i; } console.log(i); // -> 10 // 変数を局所化 var sum = (function () { var s = 0; for (var i = 0; i < 10; i++) { s += i; } return s; }()); console.log(i); // -> undefined カプセル化 prototype
y-takanoさんが書いたJavaプログラマから見たJavaScriptデザインパターン(導入編)を見て CoffeeScriptで どう書いてたかな〜と整理しておこうかなと思いました。 そもそも素のJavaScriptでクラスをキチンと書こうと思ったら 僕は発狂する自信があります。 ※ リンク先はCoffeeScript公式サイトになってます。 Adapter class CustomArray constructor: (@data)-> @sorter = DefaultSorter setCustomSorter: (@customSorter) -> @sorter = customSorter sort: -> @data.sort @sorter.sort class DefaultSorter sort: (a, b)-> a - b class RandomSorter
CoffeeScriptのリファクタリング - ワザノバ | wazanova CoffeeScriptのリファクタリングと聞いたので、いてもたってもいられなくなった。まず、お題の結果を見ずにやってみる。 これが元のコード $(document).ready -> photoHTML = (photo) => "<li> <a id='photo_#{photo.id}' href='#{photo.url}'> <img src='#{photo.url}' alt='#{photo.alt}' /> </a> </li>" $.ajax url: '/photos' type: 'GET' contentType: 'application/json' onSuccess: (response) => for photo in response.photos node = $(phot
http://blog.arkency.com/2014/07/6-front-end-techniques-for-rails-developers-part-i-from-big-ball-of-mud-to-separated-concerns/ 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 シングルページアプリもあり、それでなくてもフロント側のコードを書く機会は増えてきてますが、コードをうまく整理して、 簡単に、もっとテストしやすいコードを書く。 クオリティを下げることなく開発スピードをあげる。 ためのノウハウの一端を開発会社のArkencyがシェアしてくれています。 シリーズの初回は、シンプルなリファクタリングのケーススタディ。 CoffeeScriptのコードが、DOM変換、イベントハン
CoffeeScript を導入したことによってクラス化が比較的易しくなり、導入前よりもずっと見通しの良いコードが書けるようになってきました。クラス化することによって関連する機能を一箇所に集約することができ、後から機能を追加する際も関連するクラス内に迷わず追記することができるので、コードがあちこちに散らばることがなくなります。そして各クラスは、それぞれが与えられた役目だけに徹する(関連機能が集約されているから)ので、他のクラスのことなど知ったこっちゃないと言わんばかりに意識しなくなり、自然と疎結合なコードになっていきます。 と、いうのが理想なわけですが、実際そうも言ってられなくなったりします。ひとつ以下の様なケースで考えてみます。 出版社(Publisher)と読者(Reader)という2つの登場人物がいます。読者は出版社が近日発売予定のとある書籍を購入したいと考えていますが、出版社内で編
これまで CoffeeScript で jQuery などのメソッドチェーンを使う際、引数を括弧で囲まざるをえず「これじゃあ JS 書いてるのと変わらないじゃないか!」と思っていたみなさん、こんにちは。 CoffeeScript 1.7.0 から、括弧なしでチェーンできるようになりました。 $ = require 'jquery' $ '.hello' .data 'foo', 'bar' .css color: '#999' fontWeight: 'bold' .on 'click', -> doSomething() .on 'mouseover', -> doOtherThing() .show()
CoffeeScriptで書く時に、IFの条件部分が1行でしか書けなくて不便だなーと思ってましたが、 実は複数行に分割できる事が分かったので共有します。 if a is b and c is d and e is f console.log a, b, c, d, e, f たとえばこれを if a is b and c is d and e is f console.log a, b, c, d, e, f みたいにする事で、行分割できます。 どちらもコンパイル後のJSは以下になります。 if (a === b && c === d && e === f) { console.log(a, b, c, d, e, f); } ポイントは if a is b and #←行末を and か or で終わらせる c is d and #2行目以後の条件部分は 1個(スペース2つ) ネストさせ
たぶん僕は人類の怠惰を極めたようなcoffee-scriptの文法が好きすぎるのだけど、その結果型を書けるcoffee-scriptを作り始めてしまった。 Fork元はCoffeeScriptRedux mizchi/CoffeeScriptRedux https://github.com/mizchi/CoffeeScriptRedux/tree/type とりあえず今の版だと次のコードが通る。 目標 x :: Number = 3 y :: String = "hello" z :: Boolean = false # z :: String = 4 #=> Error # y = x #=> Error a :: Any = 3 a = 'fadfa' b = 'a' fn :: Function = -> x = 3 n = -> i = '' f2 :: Function = (
基本操作逆引きリファレンス(CoffeeScript) Node.jsと、現在使われているほとんどのブラウザで共通して使えるメソッドや文法を、用途ごとにまとめて紹介します。 文字列 文字列を作る 文字列は" "または' 'で囲います。" "の中で"を使ったり、' 'の中で'を使うには、\でエスケープします。 "abc" 'abc' # 以下2つはどちらの書き方でも同じ意味 "I can't say \"no.\"" 'I can\'t say "no."' 文字列に式を埋め込む " "内では#{ }を使って、式や変数の値を埋め込むことができます。 "1 + 1 = #{1 + 1}" # => '1 + 1 = 2' 文字数を取得する 文字列.lengthは、文字列の文字数を返します。 "abcいろは".length # => 6 文字列を数値に変換する parseInt(文字列, 10)
Backbone.coffee gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface. Backbone.coffee is a port of Backbone.js written in CoffeeScript. It's fully compatible with Backbone.js (both coffee and
A fan blog dedicated to the "little language that compiles into JavaScript" In case you didn't hear, Chrome DevTools Workspaces let you edit local CoffeeScript source files directly from your browser. For a thorough overview of the feature, watch Addy Osmani's video tour. Paul Irish showed it off as well a couple weeks ago in his fabulous FluentConf talk, "JavaScript Development Workflow of 2013".
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く