Skip to content

Instantly share code, notes, and snippets.

@hkdnet
Last active August 29, 2015 14:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hkdnet/e84b5ef8a1a0cd77d9b3 to your computer and use it in GitHub Desktop.
Save hkdnet/e84b5ef8a1a0cd77d9b3 to your computer and use it in GitHub Desktop.
CoffeeScript超入門

CoffeeScript超入門

絶対覚えておくべきこと

var宣言してはいけない

var宣言は勝手につくので不要
というか宣言すると予約語なので逆にコンパイルエラーになる

hoge = 1 # -> var hoge = 1に変換される

var fuga = 1 # -> コンパイルエラー。言うたらvar(fuga=1)と解釈される

function宣言が特殊

functionも予約語なので宣言不要というか禁止。
()->のアロー記法で関数宣言。(param) ->のように引数をとる。

hello = () ->
  console.log("hello")
hello2 = (name) ->
  console.log("hello #{name}")

#var hello, hello2
#hello = function() {
#  return console.log("hello");
#};
#
#hello2 = function(name) {
#  return console.log("hello " + name);
#};

セミコロン不要

jsと同じか

関数末自動リターン

最後の評価値が常にreturnされる。
Rubyと同じ

関数呼び出しのカッコが不要

メソッドチェーンのためカッコつけたりもする。
このへんのよいさじ加減がわかってない。

hello2 "Aoba" # -> "hello Aoba"
sum = (a, b) ->
  a + b
sum 1, 2 # -> 3

おぼえておくとよい知識

とくに思いつかなかった。
加筆修正求む

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment