CoffeeScript-演算子とエイリアス
CoffeeScript演算子
演算子は、特定の数学関数または論理関数を実行するようにコンパイラーに指示する記号です。簡単な表現をしましょう4 + 5 is equal to 9。ここで4と5は呼ばれますoperands '+'は operator。
CoffeeScriptが提供する演算子は、いくつかの違いを除いてJavaScriptと同じです。JavaScriptには問題のある演算子がいくつかあります。CoffeeScriptはそれらを削除するか、機能を変更し、いくつかの新しい演算子も導入しました。
以下は、CoffeeScriptでサポートされている演算子のリストです。
- 算術演算子
- 比較演算子
- 論理(または関係)演算子
- 代入演算子
CoffeeScriptエイリアス
演算子に加えて、CoffeeScriptはエイリアスも提供します。CoffeeScriptは、CoffeeScriptコードを読みやすく、よりユーザーフレンドリーにするために、さまざまな演算子や記号のエイリアスを提供します。
CoffeeScriptのすべての演算子とエイリアスを1つずつ見ていきましょう。
算術演算子
CoffeeScriptは、次の算術演算子をサポートしています。変数を想定A ホールド 10 および変数 B ホールド 20、次に−
例を表示
S.No | 演算子と説明 | 例 |
---|---|---|
1 | + (Addition) 2つのオペランドを追加します |
A + B = 30 |
2 | − (Subtraction) 最初のオペランドから2番目のオペランドを減算します |
A-B = -10 |
3 | * (Multiplication) 両方のオペランドを乗算します |
A * B = 200 |
4 | / (Division) 分子を分母で割ります |
B / A = 2 |
5 | % (Modulus) 整数除算の余りを出力します |
B%A = 0 |
6 | ++ (Increment) 整数値を1つ増やします |
A ++ = 11 |
7 | -- (Decrement) 整数値を1つ減らします |
A-- = 9 |
比較演算子
JavaScriptは、次の比較演算子をサポートしています。変数を想定A ホールド 10 および変数 B ホールド 20、次に−
例を表示
S.No | 演算子と説明 | 例 |
---|---|---|
1 | = = (Equal) 2つのオペランドの値が等しいかどうかをチェックし、等しい場合は条件が真になります。 |
(A == B)は真ではありません。 |
2 | != (Not Equal) 2つのオペランドの値が等しいかどうかをチェックし、値が等しくない場合は、条件が真になります。 |
(A!= B)は真です。 |
3 | > (Greater than) 左側のオペランドの値が右側のオペランドの値より大きいかどうかを確認します。大きい場合は、条件が真になります。 |
(A> B)は正しくありません。 |
4 | < (Less than) 左側のオペランドの値が右側のオペランドの値よりも小さいかどうかを確認し、小さい場合は条件が真になります。 |
(A <B)は真です。 |
5 | >= (Greater than or Equal to) 左のオペランドの値が右のオペランドの値以上であるかどうかをチェックし、そうである場合は、条件が真になります。 |
(A> = B)は正しくありません。 |
6 | <= (Less than or Equal to) 左のオペランドの値が右のオペランドの値以下であるかどうかをチェックし、そうである場合は、条件が真になります。 |
(A <= B)は真です。 |
次の表は、いくつかの比較演算子のエイリアスを示しています。仮定しますA ホールド 20 および変数 B ホールド 20。
例を表示
オペレーター | エイリアス | 例 |
---|---|---|
= =(等しい) | is | A is B あなたに真実を与えます。 |
!= =(等しくない) | isnt | A isnt B あなたに偽を与えます。 |
論理演算子
CoffeeScriptは、次の論理演算子をサポートしています。変数を想定A ホールド 10 および変数 B ホールド 20、次に−
例を表示
S.No | 演算子と説明 | 例 |
---|---|---|
1 | && (Logical AND) 両方のオペランドがゼロ以外の場合、条件は真になります。 |
(A && B)は本当です。 |
2 | || (Logical OR) 2つのオペランドのいずれかがゼロ以外の場合、条件は真になります。 |
(A || B)は真です。 |
3 | ! (Logical NOT) オペランドの論理状態を逆にします。条件がtrueの場合、LogicalNOT演算子はそれをfalseにします。 |
!(A && B)は誤りです。 |
次の表に、いくつかの論理演算子のエイリアスを示します。仮定しますX ホールド true および変数 Y ホールド false。
例を表示
オペレーター | エイリアス | 例 |
---|---|---|
&&(論理積) | and | X and Y あなたに偽を与える |
|| (論理OR) | or | X or Y あなたに真実を与える |
!(xではない) | not | not X あなたに偽を与える |
ビット演算子
CoffeeScriptは、次のビット演算子をサポートしています。変数を想定A ホールド 2 および変数 B ホールド 3、次に−
例を表示
S.No | 演算子と説明 | 例 |
---|---|---|
1 | & (Bitwise AND) 整数引数の各ビットに対してブールAND演算を実行します。 |
(A&B)は2です。 |
2 | | (BitWise OR) 整数引数の各ビットに対してブールOR演算を実行します。 |
(A | B)は3です。 |
3 | ^ (Bitwise XOR) 整数引数の各ビットに対してブール排他的論理和演算を実行します。排他的論理和は、オペランド1が真であるかオペランド2が真であるが、両方ではないことを意味します。 |
(A ^ B)は1です。 |
4 | ~ (Bitwise Not) これは単項演算子であり、オペランドのすべてのビットを逆にすることによって動作します。 |
(〜B)は-4です。 |
5 | << (Left Shift) 第1オペランドのすべてのビットを、第2オペランドで指定された桁数だけ左に移動します。新しいビットはゼロで埋められます。値を1つ左にシフトすることは、値に2を掛けることと同じです。2つの位置をシフトすることは、4を掛けることと同じです。 |
(A << 1)は4です。 |
6 | >> (Right Shift) バイナリ右シフト演算子。左のオペランドの値は、右のオペランドで指定されたビット数だけ右に移動します。 |
(A >> 1)は1です。 |
代入演算子
CoffeeScriptは次の代入演算子をサポートしています-
例を表示
S.No | 演算子と説明 | 例 |
---|---|---|
1 | = (Simple Assignment ) 右側のオペランドから左側のオペランドに値を割り当てます |
C = A + Bは、A + Bの値をCに割り当てます |
2 | += (Add and Assignment) 右のオペランドを左のオペランドに追加し、結果を左のオペランドに割り当てます。 |
C + = AはC = C + Aと同等です |
3 | -= (Subtract and Assignment) 左のオペランドから右のオペランドを減算し、その結果を左のオペランドに割り当てます。 |
C- = AはC = C-Aと同等です |
4 | *= (Multiply and Assignment) 右のオペランドと左のオペランドを乗算し、その結果を左のオペランドに割り当てます。 |
C * = AはC = C * Aと同等です |
5 | /= (Divide and Assignment) 左のオペランドを右のオペランドで除算し、その結果を左のオペランドに割り当てます。 |
C / = AはC = C / Aと同等です |
6 | %= (Modules and Assignment) 2つのオペランドを使用してモジュラスを取り、その結果を左側のオペランドに割り当てます。 |
C%= AはC = C%Aと同等です |
Note −同じ論理がビット演算子に適用されるため、<< =、>> =、>> =、&=、| =、および^ =のようになります。
CoffeeScriptの等式演算子
JavaScriptを使用していると、2種類の等価演算子が発生します。 == そして ===。
ザ・ == JavaScriptの演算子は type coerciveつまり、演算の2つのオペランドの型が異なる場合、一方の演算子のデータ型が他方に変換されてから、両方が比較されます。
CoffeeScriptは、この望ましくない強制を回避し、 == JavaScriptの厳密な比較演算子への演算子 ===。
を使用して2つのオペランドを比較すると ===、それからそれは戻ります true、それらの値とデータ型の両方が等しい場合にのみ、それ以外の場合は false。
例
次の例を考えてみましょう。ここに2つの変数がありますa そして b。 a 整数型の値21を保持し、 b 同じ値を保持しますが、 stringタイプ。CoffeeScriptでは、比較するとa そして b、結果は次のようになります false。(以来== CoffeeScriptの演算子はに変換されます === JavaScriptの演算子)
a=21
b="21"
result = 21=='21'
console.log result
コンパイル時に、上記のCoffeeScriptは次のJavaScriptを生成します
// Generated by CoffeeScript 1.10.0
(function() {
var a, b, result;
a = 21;
b = "21";
result = a === b;
console.log(result);
}).call(this);
実行すると、次の出力が生成されます。
false
実存的な演算子
CoffeeScriptは、変数の存在を確認するための存在演算子と呼ばれる新しい演算子を提供します。それはによって示されます?。変数がnullまたは未定義でない限り、存在演算子はtrueを返します。
例
以下に、実存演算子の例を示します。ここに3つの変数があります。name, age、および subject そして、existential演算子を使用して、変数nameとphoneの存在を確認しています。
name="Ramu"
age=24
subject="Engineering"
verify_name = name?
verify_phone = phone?
console.log verify_name
console.log verify_phone
コンパイル時に、これにより次のJavaScriptコードが生成されます。
// Generated by CoffeeScript 1.10.0
(function() {
var age, name, subject, verify_name, verify_phone;
name = "Ramu";
age = 24;
subject = "Engineering";
verify_name = name != null;
verify_phone = typeof phone !== "undefined" && phone !== null;
console.log(verify_name);
console.log(verify_phone);
}).call(this);
上記のCoffeeScriptファイルを実行すると、次の出力が生成されます。
true
false
Note −実存演算子のアクセサバリアントがあります ?。の代わりに使用できます。null参照を見つけるための演算子。
連鎖比較
Pythonと同様に、CoffeeScriptの単一の式で一連の比較演算子を使用できます。
例
以下は、連鎖比較の使用例です。
score = 70
passed = 100 > score > 40
console.log passed
コンパイル時に、サンプルのCoffeeScriptは次のJavaScriptコードを提供します。
// Generated by CoffeeScript 1.10.0
(function() {
var passed, score;
score = 70;
passed = (100 > score && score > 40);
console.log(passed);
}).call(this);
上記のCoffeeScriptコードを実行すると、次の出力が生成されます。
true
Note− CoffeeScriptは、三項演算子を削除します。代わりに、inline if ステートメント。
CoffeeScriptエイリアス
一般に、CoffeeScriptは、CoffeeScriptコードを読みやすく、よりユーザーフレンドリーにするために、さまざまな演算子や記号のエイリアスを提供します。以下は、CoffeeScriptによって提供されるエイリアスです。
名前 | 演算子/記号 | エイリアス |
---|---|---|
「等しい」演算子 | == | です |
「等しくない」演算子 | !== | isnt |
「not」演算子 | ! | ない |
「および」演算子 | && | そして |
「または」演算子 | || | または |
ブール値true | true | 本当、はい、 |
ブール値false | false | オフ、いいえ |
現在のオブジェクト | この | @ |
改行(または)セミコロン | \ nまたは; | その後 |
ifの逆 | !もし | そうでなければ |
アレイの存在をテストするには | に | |
オブジェクトの存在をテストするには | の | |
べき乗 | A**b | |
整数除算 | A//b | |
配当に依存するモジュロ | A%%b |
例
次の例は、CoffeeScriptでエイリアスを使用する方法を示しています-
a=21; b=21
x = true; y = false
console.log a is b
console.log a isnt b
console.log x and y
console.log x or y
console.log yes or no
console.log on or off
console.log a**b
console.log a//b
console.log a%%b
上記の例をコンパイルすると、次のJavaScriptコードが得られます。
// Generated by CoffeeScript 1.10.0
(function() {
var a, b, x, y,
modulo = function(a, b) { return (+a % (b = +b) + b) % b; };
a = 21;
b = 21;
x = true;
y = false;
console.log(a === b);
console.log(a !== b);
console.log(x && y);
console.log(x || y);
console.log(true || false);
console.log(true || false);
console.log(Math.pow(a, b));
console.log(Math.floor(a / b));
console.log(modulo(a, b));
}).call(this);
上記のCoffeeScriptファイルを実行すると、次の出力が生成されます-
true
false
false
true
true
true
5.842587018385982e+27
1
0