LoginSignup
0
0

More than 5 years have passed since last update.

CoffeeScript

Last updated at Posted at 2017-03-22

CoffeeScript

CoffeeScriptはJavaScriptにコンパイルされてるプログラミング言語。出力はただのJavaScriptコードですが、構文は軽くて書きやすい言語です。つまり、CoffeeScriptは新しいプログラミング言語の用なシンタクスでJavaScriptを書く事が出来ます。

coffeescript.org

CoffeeScriptのプログラミングなら、http://coffeescript.org/ はとても便利です。良いドキュメンテーションがありますし、「Try CoffeeScript」というメニューで、CoffeeScriptをタイプすれば、リアルタイムでJavaScriptのアウトプットが見えますから、ずいぶん分かりやすいです。

変数

変数はラムダ式のままで書きます。

square.coffee
square = (x) -> x * x

パラメータがありませんと何も書かなくても良いです。

greet.coffee
greet = -> alert "Hello!"

先の例の用に、括弧は一般的に書かなくても良いですが、括弧が必要場合もまります。例えば、

ambiguous.coffee
functionA functionB parameterX, parameterY

はディフォルトで

output1.js
functionA(functionB(parameterX, parameterY));

になりますが、元々意味は

output2.js
functionA(functionB(parameterX), parameterY);

だったと思えます。

ディフォルトパラメータも出来ます。

input.coffee
greet = (message = "Hello!") -> alert(message)
output.js
var greet;

greet = function(message) {
  if (message == null) {
    message = "Hello!";
  }
  return alert(message);
};

関数の最後のラインは自動的にリターンされてます。

波括弧

波括弧の代わりにインデントを使うことが出来ます。

input.coffee
if flag
    newObject =
        name: "Sanomaru"
        age: 4
        prefecture: "Tochigi"
        specialties: [
            "fencing"
            "ramen"
        ]
output.js
var newObject;

if (flag) {
  newObject = {
    name: "Sanomaru",
    age: 4,
    prefecture: "Tochigi",
    specialties: ["fencing", "ramen"]
  };
}

そのままでアレイも書けます。

Comprehensions

comprehensions.coffee
displayContentWithIndex = (index, content) -> alert "#{index} - #{content}"

colors = ["Red", "Green", "Orange", "Blue"]

displayContentWithIndex index, content for content, index in colors when content != "Orange"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0