var
は不要(自動で宣言される)
message = "Hello, world!"
if message.length > 1
alert message
var message;
message = "Hello, world!";
if (message.length > 1) {
alert(message);
}
# コメント
コンパイル時に消去される
### コメント ###
コンパイル時に消去されない
ダブルクォーテーション内で可能。
alert "Hi, #{name}!"
alert "Hi, " + name + "!";
alert "15/3=#{15/3}"
alert("15/3=" + (15 / 3));
s = "apple
banana
orange"
var s;
s = "apple banana orange";
s = """apple
banana
orange"""
var s;
s = "apple\nbanana\norange";
a = [1, 2, 3]
,
は改行で代用もできる:
a = [
1, 3, 5
2, 4, 6
]
var a;
a = [1, 3, 5, 2, 4, 6]
a = {"yamada": 100, "suzuki": 200}
a =
"yamada": 100
"suzuki": 200
複雑な連想配列も作成できる:
a =
"yamada":
"sales": 100
"cost" : 200
"suzuki":
"sales": 200
"cost" : 300
1から5までの配列を作成:
a = [1..5]
var a;
a = [1, 2, 3, 4, 5];
...
は、最後の数値は含まない:
a = [1...5]
var a;
a = [1, 2, 3, 4];
if 条件式
真の場合の処理
if 条件式
真の場合の処理
else
偽の場合の処理
if 条件式
真の場合の処理
else if 条件式
真の場合の処理
else
偽の場合の処理
score = 70
if score > 80
alert 'OK'
else if score > 60
alert 'So-so'
else
alert 'NG'
alert "OK" if score > 80
switch 変数
when '値' # 値に一致した場合
処理
when '値', '値' # 複数の値を指定できる
処理
else # どの値にも一致しない場合
処理
signal = 'red'
switch signal
when 'red'
alert 'stop!'
when 'green'
alert 'go!'
else
alert 'caution!'
when 値 then 処理
と1行でも書ける:
when 'red' then alert 'stop!'
alert 'OK' if name?
if (typeof name !== 'undefined' && name !== null) alert('OK');
for 変数 in 配列
処理
for i in [1..3]
alert i
var i, _i;
for (i = _i = 1; _i <= 3; i = ++_i) {
alert(i);
}
a = ['yamada', 'tanaka', 'suzuki']
for i in a
alert "Hi, #{i}"
var a, i, _i, _len;
a = ['yamada', 'tanaka', 'suzuki'];
for (_i = 0, _len = a.length; _i < _len; _i++) {
i = a[_i];
alert("Hi, " + i);
}
インデックスを取得(0〜):
a = ['yamada', 'tanaka', 'suzuki']
for i, index in a
alert "Hi, #{index}: #{i}"
var a, i, index, _i, _len;
a = ['yamada', 'tanaka', 'suzuki'];
for (index = _i = 0, _len = a.length; _i < _len; index = ++_i) {
i = a[index];
alert("Hi, " + index + ": " + i);
}
for key, value of 連想配列
処理
sales =
'yamada': 100
'tanaka': 200
'suzuki': 300
for key, value of sales
alert "#{key}: #{value}"
var key, sales, value;
sales = {
'yamada': 100,
'tanaka': 200,
'suzuki': 300
};
for (key in sales) {
value = sales[key];
alert("" + key + ": " + value);
}
is | ===
|
isnt | !==
|
score = 70
if score is 80
alert 'OK'
else
alert 'NG'
and | &&
|
or | ||
|
not | !
|
alert "OK" if 80 < score < 90
if ((80 < score) && (score < 90)) {
alert("OK");
}
変数名 = ->
処理
変数名 = (引数1, 引数2...) ->
処理
例:
hello = ->
alert 'Hello!'
var hello;
hello = function() {
return alert('Hello!');
};
hello = (s) ->
alert "Hello, #{s}"
var hello;
hello = function(s) {
return alert('Hello, ' + s);
};
変数に無名関数を代入するように変換される。
変数名
変数名 引数1, 引数2...
例:
hello
hello "yamada", "tanaka"
引数を指定しない場合の処理
変数名 = (引数1 = 初期値1, 引数2 = 初期値2...) ->
処理
例:
hello = (s = "yamada") ->
alert 'Hello!'
var hello;
hello = function(s) {
if (s == null) {
s = "yamada";
}
return alert('Hello!');
};
最後に実行されたものが返り値となるので、明示的に返り値を指定する場合以外は、return
を付ける必要はない
var foo = hello();
console.log(hello());
© 2019 shge.github.io 利用規約・プライバシー