既存のJavaScriptをCoffeeSrcriptに書き換えたときにわかったことメモ
2266 ワード
GulpfileをJSからCoffeeScriptに書き換えました
ちょっと前の話なので、書き換えたときにはまった部分を個人的にメモ。
関数呼び出しの時の()は不要だけど、引数なしの時は必要
☓ func
◯ func()
関数呼び出しの結果をまとめる時注意
func1 func2 arg1, arg2
↓
func1(func2(arg1, arg2));
func1 func2(arg1), arg2
↓
func1(func2(arg1), arg2);
===
はis
を使う
func1() if val is undefined
↓
if (val === void 0) {
func1();
}
連想配列の初期化は結構便利
hash1 = key1: 'val1', key2: ['val2'], key3: key31: 'val31'
↓
hash1 = {
key1: 'val1',
key2: ['val2'],
key3: {
key31: 'val31'
}
};
でも改行を入れたほうがわかりやすい(ついでに末尾にカンマ打ちまくってもOK)
hash2 =
key1: 'val1',
key2: ['val2'],
key3:
key31: 'val31',
key32: 'val32',
key4: 'val4',
↓
hash2 = {
key1: 'val1',
key2: ['val2'],
key3: {
key31: 'val31',
key32: 'val32'
},
key4: 'val4'
};
三項演算子はちょっと違う(「:」が上述の初期化と誤爆する)
val3 = if val1 > 1 then val1 else val2
↓
val3 = val1 > 1 ? val1 : val2;
JSにコンパイルして確認する
基本的にRuby
の書き方が色々と適応できます。気になったら、スクリプトを書いてみて、以下のコマンドでJSファイルにコンパイルして、確認してみるとわかりやすいかと思います。
./node_modules/.bin/coffee -c xxx.coffee
Author And Source
この問題について(既存のJavaScriptをCoffeeSrcriptに書き換えたときにわかったことメモ), 我々は、より多くの情報をここで見つけました https://qiita.com/tsuka611/items/0d94692b117b15b5e6e5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .