33
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

atom.ioで最初から使えるスニペット集(CoffeeScript編)

Last updated at Posted at 2014-04-16

atomエディタは最初からスニペットが使えます。
cmd+,でsettingsを開いて左サイドバーの検索窓に[language]と入力すると、言語別に登録済のスニペットが見られます。
ここではCoffeeScriptのスニペットをまとめてみたいと思います。

基本

Subheader

/3 ←このキーを入力した後でTabキーを押すと
↓この様に変換されます。(以下も同じ)

#
# -------------------------

コメントでサブヘッダーを挿入する用?

Key-value pair

:

"key": value

{:と入力した後でTabると幸せになれるかも。
ちなみにTabを押すたびにkey(""込み)-key(""内部)-valueと選択範囲を移動できます。

require

req

sys = require "sys"

node.jsではrequireはよく使うので必修。

Function

fun

(args) ->
  # body...

Function (bound)

bfun

(args) =>
  # body...

注記

CoffeeScriptでは太い矢印 「=>」 も関数定義に使うことができ、その場に this を束縛できる。この機能は、PrototypeやjQueryのようなコールバック関数を用いるライブラリで、eachのようなイテレータやイベントハンドラを渡すとき便利である。太い矢印「=>」で定義された関数は、それが定義された場所の this のプロパティを参照できる。

CoffeeScript 言語リファレンス - sappari wiki http://memo.sappari.org/coffeescript/coffeescript-langref

Class

cla

class ClassName extends Ancestor

  constructor: (args) ->
    # body...

制御構文

IF

if

if condition
  # body...

If .. Else

ife

if condition
  # body...
else
  # body...

Else if

elif

else if condition
  # body...

Ternary If (三項演算子)

ifte

if condition then value else other

注記

if a then val = b else val = c

という式は

val = if a then b else c

と同義である。
しかしCoffeeScriptで

coffee
val = a ? b : c

と書いてしまうと

js
val = typeof a !== "undefined" && a !== null ? a : {
  b: c
};

上記のようにコンパイルされてしまうので注意。

Unless

unl

action unless condition

注記

Unlessは以下の様なjsにコンパイルされる。
conditionが偽ならactionを読み込む。

coffee
val = 1 unless condition

js
if (!condition) {
  val = 1;
}

Comprehension

fora

for name in array
  # body...

for in は配列を回す

comprehension

foro

for key, value of Object
  # body...

for ofは連想配列を回す

Range comprehension (inclusive)

forr

for name in [start..finish] by step
  # body...

startが1、finishが10とした場合、1-10のRangeになります。

Range comprehension (exclusive)

forrex

for name in [start...finish] by step
  # body...

startが1、finishが10とした場合、1-9のRangeになります。

Switch

swi

switch object
  when value
    # body...

注記
CoffeeScriptのSwitchはbreakが不要です。
thenを使えば一行で条件と処理を書けます。
またdefaultのかわりにelseを使います。

coffee
switch object
  when 1 then a()
  when 2
    b()
  else
    c()
js
switch (object) {
  case 1:
    a();
    break;
  case 2:
    b();
    break;
  default:
    c();
}

Array(配列)

Point array

pt

[, ]

Range array

ra

[[, ], [, ]]

コンソール出力

log

log

console.log

error

error

console.error

warn

warn

console.warn

errorやwarnは知りませんでした。そんなのあるんですね。
######consoleオブジェクトが持つlog以外の便利メソッド18


Mocha用関数

Describe

de

describe "description", ->
  body

Expectation

ex

expect().to

It block

it

it "", ->


#Jasmine

After each

af

afterEach ->

Before each

be

beforeEach ->

Create Jasmine spy

spy

jasmine.createSpy("description")

CoffeeScriptの復習も兼ねて書いてみましたが、間違いがあったらご指摘お願いします。

関連
atomをインストールした状態で何ができるのか試してみた - Qiita

33
32
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
33
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?