English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
演算子は指定された操作数に対して数学的および論理演算を実行します。
JavaScriptには以下の種類の演算子があります:
算術演算子
代入演算子
比較演算子
ビット演算子
論理演算子
文字演算子
条件(三元)演算子
一元运算符
一元演算子
JavaScriptの算術演算子
算術演算子は数字に対して算術演算を実行するために使用されます。
演算子 | 説明 | 例 | 定義 | テストしてみてください |
---|---|---|---|---|
+ | 算術演算子は数値を操作数として取り、単一の数値を返します。 | a + b | 加法 | テストしてみてください |
- | aとbの合計 | a-b | 減法 | テストしてみてください |
* | aとbの差 | a * b | 乘法 | テストしてみてください |
** | aとbの積 | a ** b | 求幂 | テストしてみてください |
/ | aのb次方 | a / b | 除法 | テストしてみてください |
a除以b | % | 求模(余数) | a / a%b | テストしてみてください |
++ | bの余数 | a ++ | 自増1 | テストしてみてください |
-- | a自増 | a-- | 自減1 | テストしてみてください |
JavaScriptの割り当て演算子
割り当て演算子は値をJavaScriptの変数に割り当てます。
演算子 | 説明 | 例 | 同等 | テストしてみてください |
---|---|---|---|---|
= | シンプルな割り当て演算子(=)は、右操作数の値を左操作数に割り当てます。 | 割り当て | 割り当て | テストしてみてください |
+= | a = b | a + = b | a = a + b | テストしてみてください |
-= | 加算後の値を再割り当て | a-= b | a = a-b | テストしてみてください |
*= | 減算後の値を再割り当て | a * = b | a = a * b | テストしてみてください |
**= | 乗算後の値を再割り当て | a ** = b | a = a ** b | テストしてみてください |
/= | 除算後の値を再割り当て | a / = b | a = a / b | テストしてみてください |
%= | 求模後の値を再割り当て | a%= b | a = a%b | テストしてみてください |
比較演算子は二つの値を比較し、ブール値を返します。
演算子 | 説明 | 例 | 定義 | テストしてみてください |
---|---|---|---|---|
== | 等しい | a == b | aがbに等しい場合 | テストしてみてください |
=== | 同じ | a === b | aがbに等しく、同じタイプである場合 | テストしてみてください |
!= | 不相等 | a!= b | aがbに等しくない場合 | テストしてみてください |
!== | タイプを含む不相等 | a!== b | aがbに等しくなく、同一のデータタイプでもない場合 | テストしてみてください |
> | 以上 | a> b | aがb以上の場合 | テストしてみてください |
< | 以下 | a <b | aがb以下の場合 | テストしてみてください |
>= | 以上 | a> = b | aがb以上の場合 | テストしてみてください |
<= | 以下 | a <= b | aがb以下の場合 | テストしてみてください |
(a ==b)と(a ===b)の違いは:
== aがbに等しい場合
=== aがbに等しく、それらが同じタイプである場合同一のタイプ、則はtrueを返します
条件文では比較演算子を使用して値を比較し、結果に基づいて異なるフローに進むことができます。
このチュートリアルの後半で、条件文の使用方法を学びます。
ビット演算子はその操作数を一連のビットとして視覚化します。32ビット(ゼロと一),ではなく、十進数、十六進数または八進数の数字としてその操作数を視覚化します。
この操作でのどの数字の操作数も、十進数、十六進数、または八進数の数字ではなく、ビット(ゼロと一)として変換されます。32位数字。結果をJavaScriptのインデックスに変換します。
演算子 | 説明 | 例 | 同等 | 結果 | 小数 |
---|---|---|---|---|---|
& | アンド | 5&1 | 0101和0001 | 0001 | 1個 |
| | アンリ | 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | ノン | ~5 | ~0101 | 1010 | 10 |
^ | イーコリ | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | ライト・シフト | 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | シグネチャレス・ライト・シフト | 5 >> 1 | 0101 >> 1 | 0010 | 2 |
>>> | シグネチャレス・ライト・シフト | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 |
の例では4符号付きビット無しの例。しかしJavaScriptは32符号付きビット
したがって、JavaScriptでは、~5を返しません10。それは-6。
~00000000000000000000000000000101を返します11111111111111111111111111111010
論理演算子は、変数や値の間の論理を決定するために使用されます。
論理演算子は、条件文を組み合わせるために通常使用され、布尔値を返します。
演算子 | 説明 | 例 | 定義 | テストしてみてください |
---|---|---|---|---|
&& | 論理と | a && b | aおよびbがどちらも真の場合、真になります | テストしてみてください |
|| | 論理或 | a||b | aまたはbが真の場合、真になります | テストしてみてください |
! | 論理否定 | !a | aが真でない場合、真になります | テストしてみてください |
この+演算子は、文字列を結合(接続)するためにも使用できます。
var str1 = "Hello"; var str2 = "World"; var str3 = str1 + " " + str2;テストを見て‹/›
加法代入演算子+=は、文字列を結合(接続)するためにも使用できます。
var str1 = "Hey! "; str1 += "How r u doing?";テストを見て‹/›
文字列上で使用される場合、この+演算子は連接演算子と呼ばれます。
条件演算子は、3つの操作数を使用するJavaScriptの演算子の中で唯一です。
条件に基づいて2つの値のうちの1つを取得することができます。構文は以下の通りです:
condition ? val1 : val2
もしcondition の計算結果はtrue、それともtrueを返しますval1、それともfalseを返しますval2。
条件演算子は、標準演算子を使用する場所のどこでも使用できます。
var status = (age >= 18) ? "成人" : "子供";テストを見て‹/›
年齢が18年齢が20歳以上の場合、status変数に「成人」という値が割り当てられます。そうでない場合は、statusに「子供」という値が割り当てられます。
ユニタリ演算は、操作数が1つしかない演算です。
JavaScriptには3つのユニタリ演算子があります:
説明 | 説明 |
---|---|
delete | オブジェクト、オブジェクトの属性、または配列の指定されたインデックスの要素を削除します |
typeof | 変数の型を返します |
void | 値を返さずに要求される式を指定する |
delete演算子は、オブジェクト、オブジェクトの属性、または配列の指定されたインデックスの要素を削除できます。
操作が実行可能であれば、delete演算子はtrueを返します;そうでない場合は、falseを返します。操作が実行不可能であれば、falseを返します。
delete演算子が成功した場合、属性または要素をundefinedに設定します:
var user = {firstName:"Vishal", age:""22, color:"blue"}; delete user.firstName; // trueを返しますテストを見て‹/›
delete演算子が配列の要素を削除した場合、その要素は配列から削除されます。
var fruits = ["Apple", "Mango", "Banana"]; delete fruits[0]; // delete "Apple"テストを見て‹/›
注意:配列の要素を削除する際には、配列の長さは影響を受けません。
typeof演算子は変数や式のタイプを返します。
typeof "" // 「string」を返します typeof "Vishal"// 「string」を返します typeof "42"// 「string」を返します(クオート内のNumberはStringとみなされます) typeof 42 // 「number」を返します typeof true// 「boolean」を返します typeof false // 「boolean」を返します typeof undefined // 「undefined」を返します typeof null// 「object」を返します typeof {name:"Vishal", age:22} // 「object」を返します typeof [2, 4, 6, 8]// 「object」を返します(下記の注意を参照してください) typeof function myFunc(){} // 「function」を返しますテストを見て‹/›
注意:typeof演算子は配列に対して「object」を返します。なぜなら、JavaScriptでは配列がオブジェクトであるからです。
これはtypeof演算子が返す値のリストです:
タイプ | typeofが返す文字列 |
---|---|
Number | "number" |
String | "string" |
Boolean | "boolean" |
Object | "object" |
Function | "function" |
Undefined | "undefined" |
Null | "object" |
void演算子は値を要求する式を指定しますが、値を返しません。
以下のコードは、ユーザーがリンクをクリックしたときに何も実行しない超テキストリンクを作成します。
<a href="javascript:void(0)">Click here to do nothing</a>テストを見て‹/›
関係演算子は操作数を比較し、比較が真であるかどうかによって布尔値を返します。
JavaScriptには二つの関係演算子があります:
説明 | 説明 |
---|---|
in | 指定された属性が指定されたオブジェクトに存在する場合、trueを返します。 |
instanceof | オブジェクトがオブジェクトタイプの例である場合、trueを返します |
指定された属性が指定されたオブジェクトに存在する場合、in演算子はtrueを返します。
var user = {firstName:"Vishal", age:""22, color:"blue"}; "firstName" in user; // trueを返します "age" in user;// trueを返します "Food" in user; // falseを返しますテストを見て‹/›
in演算子とArray配列を使用する場合、インデックス番号を指定する必要がありますが、インデックス位置の値を指定する必要はありません。
var fruits = ["Apple", "Mango", "Banana"]; var item1 = 0 in fruits; // trueを返します var item2 = 1 fruits; // trueを返します var item3 = 2 fruits; // trueを返します var item4 = 3 fruits; // falseを返しますテストを見て‹/›
指定されたオブジェクトが指定されたオブジェクトタイプに属している場合、instanceof演算子はtrueを返します。
動作時にオブジェクトのタイプを判定する必要がある場合、instanceof演算子を使用してください。
var myObj = new Date(); if (myObj instanceof Date) { // 実行するステートメント }テストを見て‹/›