JavaScript-演算子
演算子とは何ですか?
簡単な表現をしましょう 4 + 5 is equal to 9。ここで4と5は呼ばれますoperands '+'は operator。JavaScriptは、次のタイプの演算子をサポートしています。
- 算術演算子
- 比較演算子
- 論理(または関係)演算子
- 代入演算子
- 条件付き(または三項)演算子
すべての演算子を1つずつ見ていきましょう。
算術演算子
JavaScriptは次の算術演算子をサポートしています-
変数Aが10を保持し、変数Bが20を保持すると仮定すると、-
シニア番号 | オペレーターと説明 |
---|---|
1 | + (Addition) 2つのオペランドを追加します Ex: A + Bは30を与えます |
2 | - (Subtraction) 最初のオペランドから2番目のオペランドを減算します Ex: A-Bは-10を与えます |
3 | * (Multiplication) 両方のオペランドを乗算します Ex: A * Bは200を与えます |
4 | / (Division) 分子を分母で割ります Ex: B / Aは2を与えます |
5 | % (Modulus) 整数除算の余りを出力します Ex: B%Aは0を与えます |
6 | ++ (Increment) 整数値を1つ増やします Ex: A ++は11を与えます |
7 | -- (Decrement) 整数値を1つ減らします Ex: A--は9を与えます |
Note−加算演算子(+)は、文字列だけでなく数値でも機能します。たとえば、「a」+10は「a10」になります。
例
次のコードは、JavaScriptで算術演算子を使用する方法を示しています。
<html>
<body>
<script type = "text/javascript">
<!--
var a = 33;
var b = 10;
var c = "Test";
var linebreak = "<br />";
document.write("a + b = ");
result = a + b;
document.write(result);
document.write(linebreak);
document.write("a - b = ");
result = a - b;
document.write(result);
document.write(linebreak);
document.write("a / b = ");
result = a / b;
document.write(result);
document.write(linebreak);
document.write("a % b = ");
result = a % b;
document.write(result);
document.write(linebreak);
document.write("a + b + c = ");
result = a + b + c;
document.write(result);
document.write(linebreak);
a = ++a;
document.write("++a = ");
result = ++a;
document.write(result);
document.write(linebreak);
b = --b;
document.write("--b = ");
result = --b;
document.write(result);
document.write(linebreak);
//-->
</script>
Set the variables to different values and then try...
</body>
</html>
出力
a + b = 43
a - b = 23
a / b = 3.3
a % b = 3
a + b + c = 43Test
++a = 35
--b = 8
Set the variables to different values and then try...
比較演算子
JavaScriptは次の比較演算子をサポートしています-
変数Aが10を保持し、変数Bが20を保持すると仮定すると、-
シニア番号 | オペレーターと説明 |
---|---|
1 |
= = (Equal) 2つのオペランドの値が等しいかどうかをチェックし、等しい場合は条件が真になります。 Ex: (A == B)は真ではありません。 |
2 |
!= (Not Equal) 2つのオペランドの値が等しいかどうかをチェックし、値が等しくない場合は、条件が真になります。 Ex: (A!= B)は真です。 |
3 |
> (Greater than) 左側のオペランドの値が右側のオペランドの値より大きいかどうかを確認します。大きい場合は、条件が真になります。 Ex: (A> B)は正しくありません。 |
4 |
< (Less than) 左側のオペランドの値が右側のオペランドの値よりも小さいかどうかを確認し、小さい場合は条件が真になります。 Ex: (A <B)は真です。 |
5 |
>= (Greater than or Equal to) 左のオペランドの値が右のオペランドの値以上であるかどうかをチェックし、そうである場合は、条件が真になります。 Ex: (A> = B)は正しくありません。 |
6 |
<= (Less than or Equal to) 左のオペランドの値が右のオペランドの値以下であるかどうかをチェックし、そうである場合は、条件が真になります。 Ex: (A <= B)は真です。 |
例
次のコードは、JavaScriptで比較演算子を使用する方法を示しています。
<html>
<body>
<script type = "text/javascript">
<!--
var a = 10;
var b = 20;
var linebreak = "<br />";
document.write("(a == b) => ");
result = (a == b);
document.write(result);
document.write(linebreak);
document.write("(a < b) => ");
result = (a < b);
document.write(result);
document.write(linebreak);
document.write("(a > b) => ");
result = (a > b);
document.write(result);
document.write(linebreak);
document.write("(a != b) => ");
result = (a != b);
document.write(result);
document.write(linebreak);
document.write("(a >= b) => ");
result = (a >= b);
document.write(result);
document.write(linebreak);
document.write("(a <= b) => ");
result = (a <= b);
document.write(result);
document.write(linebreak);
//-->
</script>
Set the variables to different values and different operators and then try...
</body>
</html>
出力
(a == b) => false
(a < b) => true
(a > b) => false
(a != b) => true
(a >= b) => false
a <= b) => true
Set the variables to different values and different operators and then try...
論理演算子
JavaScriptは次の論理演算子をサポートしています-
変数Aが10を保持し、変数Bが20を保持すると仮定すると、-
シニア番号 | オペレーターと説明 |
---|---|
1 | && (Logical AND) 両方のオペランドがゼロ以外の場合、条件は真になります。 Ex: (A && B)は本当です。 |
2 | || (Logical OR) 2つのオペランドのいずれかがゼロ以外の場合、条件は真になります。 Ex: (A || B)は真です。 |
3 | ! (Logical NOT) オペランドの論理状態を逆にします。条件がtrueの場合、LogicalNOT演算子はそれをfalseにします。 Ex:!(A && B)は誤りです。 |
例
次のコードを試して、JavaScriptで論理演算子を実装する方法を学習してください。
<html>
<body>
<script type = "text/javascript">
<!--
var a = true;
var b = false;
var linebreak = "<br />";
document.write("(a && b) => ");
result = (a && b);
document.write(result);
document.write(linebreak);
document.write("(a || b) => ");
result = (a || b);
document.write(result);
document.write(linebreak);
document.write("!(a && b) => ");
result = (!(a && b));
document.write(result);
document.write(linebreak);
//-->
</script>
<p>Set the variables to different values and different operators and then try...</p>
</body>
</html>
出力
(a && b) => false
(a || b) => true
!(a && b) => true
Set the variables to different values and different operators and then try...
ビット演算子
JavaScriptは次のビット演算子をサポートしています-
変数Aが2を保持し、変数Bが3を保持すると仮定すると、-
シニア番号 | オペレーターと説明 |
---|---|
1 | & (Bitwise AND) 整数引数の各ビットに対してブールAND演算を実行します。 Ex: (A&B)は2です。 |
2 | | (BitWise OR) 整数引数の各ビットに対してブールOR演算を実行します。 Ex: (A | B)は3です。 |
3 | ^ (Bitwise XOR) 整数引数の各ビットに対してブール排他的論理和演算を実行します。排他的論理和は、オペランド1が真であるかオペランド2が真であるが、両方ではないことを意味します。 Ex: (A ^ B)は1です。 |
4 | ~ (Bitwise Not) これは単項演算子であり、オペランドのすべてのビットを逆にすることによって動作します。 Ex: (〜B)は-4です。 |
5 | << (Left Shift) 第1オペランドのすべてのビットを、第2オペランドで指定された桁数だけ左に移動します。新しいビットはゼロで埋められます。値を1つ左にシフトすることは、値に2を掛けることと同じです。2つの位置をシフトすることは、4を掛けることと同じです。 Ex: (A << 1)は4です。 |
6 | >> (Right Shift) バイナリ右シフト演算子。左のオペランドの値は、右のオペランドで指定されたビット数だけ右に移動します。 Ex: (A >> 1)は1です。 |
7 | >>> (Right shift with Zero) この演算子は、左側にシフトインされたビットが常にゼロであることを除いて、>>演算子と同じです。 Ex: (A >>> 1)は1です。 |
例
次のコードを試して、JavaScriptでビット演算子を実装してください。
<html>
<body>
<script type = "text/javascript">
<!--
var a = 2; // Bit presentation 10
var b = 3; // Bit presentation 11
var linebreak = "<br />";
document.write("(a & b) => ");
result = (a & b);
document.write(result);
document.write(linebreak);
document.write("(a | b) => ");
result = (a | b);
document.write(result);
document.write(linebreak);
document.write("(a ^ b) => ");
result = (a ^ b);
document.write(result);
document.write(linebreak);
document.write("(~b) => ");
result = (~b);
document.write(result);
document.write(linebreak);
document.write("(a << b) => ");
result = (a << b);
document.write(result);
document.write(linebreak);
document.write("(a >> b) => ");
result = (a >> b);
document.write(result);
document.write(linebreak);
//-->
</script>
<p>Set the variables to different values and different operators and then try...</p>
</body>
</html>
(a & b) => 2
(a | b) => 3
(a ^ b) => 1
(~b) => -4
(a << b) => 16
(a >> b) => 0
Set the variables to different values and different operators and then try...
代入演算子
JavaScriptは次の代入演算子をサポートしています-
シニア番号 | オペレーターと説明 |
---|---|
1 | = (Simple Assignment ) 右側のオペランドから左側のオペランドに値を割り当てます Ex: C = A + Bは、A + Bの値をCに割り当てます |
2 | += (Add and Assignment) 右のオペランドを左のオペランドに追加し、結果を左のオペランドに割り当てます。 Ex: C + = AはC = C + Aと同等です |
3 | −= (Subtract and Assignment) 左のオペランドから右のオペランドを減算し、その結果を左のオペランドに割り当てます。 Ex: C- = AはC = C-Aと同等です |
4 | *= (Multiply and Assignment) 右のオペランドと左のオペランドを乗算し、その結果を左のオペランドに割り当てます。 Ex: C * = AはC = C * Aと同等です |
5 | /= (Divide and Assignment) 左のオペランドを右のオペランドで除算し、その結果を左のオペランドに割り当てます。 Ex: C / = AはC = C / Aと同等です |
6 | %= (Modules and Assignment) 2つのオペランドを使用してモジュラスを取り、その結果を左側のオペランドに割り当てます。 Ex: C%= AはC = C%Aと同等です |
Note −同じ論理がビット演算子に適用されるため、<< =、>> =、>> =、&=、| =、および^ =のようになります。
例
次のコードを試して、JavaScriptで代入演算子を実装してください。
<html>
<body>
<script type = "text/javascript">
<!--
var a = 33;
var b = 10;
var linebreak = "<br />";
document.write("Value of a => (a = b) => ");
result = (a = b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a += b) => ");
result = (a += b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a -= b) => ");
result = (a -= b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a *= b) => ");
result = (a *= b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a /= b) => ");
result = (a /= b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a %= b) => ");
result = (a %= b);
document.write(result);
document.write(linebreak);
//-->
</script>
<p>Set the variables to different values and different operators and then try...</p>
</body>
</html>
出力
Value of a => (a = b) => 10
Value of a => (a += b) => 20
Value of a => (a -= b) => 10
Value of a => (a *= b) => 100
Value of a => (a /= b) => 10
Value of a => (a %= b) => 0
Set the variables to different values and different operators and then try...
その他のオペレーター
ここでは、JavaScriptで非常に役立つ2つの演算子について説明します。 conditional operator (? :) そしてその typeof operator。
条件付き演算子(?:)
条件演算子は、最初に式の真または偽の値を評価し、次に評価の結果に応じて、指定された2つのステートメントのいずれかを実行します。
シニア番号 | 演算子と説明 |
---|---|
1 | ? : (Conditional ) 条件が真の場合?次に値X:それ以外の場合は値Y |
例
次のコードを試して、JavaScriptで条件演算子がどのように機能するかを理解してください。
<html>
<body>
<script type = "text/javascript">
<!--
var a = 10;
var b = 20;
var linebreak = "<br />";
document.write ("((a > b) ? 100 : 200) => ");
result = (a > b) ? 100 : 200;
document.write(result);
document.write(linebreak);
document.write ("((a < b) ? 100 : 200) => ");
result = (a < b) ? 100 : 200;
document.write(result);
document.write(linebreak);
//-->
</script>
<p>Set the variables to different values and different operators and then try...</p>
</body>
</html>
出力
((a > b) ? 100 : 200) => 200
((a < b) ? 100 : 200) => 100
Set the variables to different values and different operators and then try...
typeof演算子
ザ・ typeof演算子は、任意のタイプの単一オペランドの前に配置される単項演算子です。その値は、オペランドのデータ型を示す文字列です。
typeof演算のオペレータ評価するオペランドが数値、文字列、またはブール値と評価に基づいてtrueまたはfalseを返すが「番号」、「文字列」、または「ブール」へ。
の戻り値のリストは次のとおりです typeof オペレーター。
タイプ | typeofによって返される文字列 |
---|---|
数 | "数" |
ストリング | "ストリング" |
ブール値 | 「ブール値」 |
オブジェクト | 「オブジェクト」 |
関数 | "関数" |
未定義 | "未定義" |
ヌル | 「オブジェクト」 |
例
次のコードは、実装方法を示しています typeof オペレーター。
<html>
<body>
<script type = "text/javascript">
<!--
var a = 10;
var b = "String";
var linebreak = "<br />";
result = (typeof b == "string" ? "B is String" : "B is Numeric");
document.write("Result => ");
document.write(result);
document.write(linebreak);
result = (typeof a == "string" ? "A is String" : "A is Numeric");
document.write("Result => ");
document.write(result);
document.write(linebreak);
//-->
</script>
<p>Set the variables to different values and different operators and then try...</p>
</body>
</html>
出力
Result => B is String
Result => A is Numeric
Set the variables to different values and different operators and then try...