JavaScript オペレータリファレンスマニュアル

JavaScript 演算子は、割り当て、比較、算術演算などを実行するために使用されます。

さらに参照:

チュートリアル:JavaScript 运算子

チュートリアル:JavaScript オペレータの優先順位

JavaScript 算術演算子

算術演算子は、変数と/または値間で算術を実行するために使用されます。

与えられた y = 5、下表解释了算術演算子:

演算子 説明 y 中的結果 x 中的結果 試してみてください
+ x = y + 2 y = 5 x = 7 試してみてください
- x = y - 2 y = 5 x = 3 試してみてください
* x = y * 2 y = 5 x = 10 試してみてください
/ x = y / 2 y = 5 x = 2.5 試してみてください
% 除余数(模数) x = y % 2 y = 5 x = 1 試してみてください
++ 増加 x = ++y y = 6 x = 6 試してみてください
x = y++ y = 6 x = 5 試してみてください
-- 減少 x = --y y = 4 x = 4 試してみてください
x = y-- y = 4 x = 5 試してみてください

算術演算子に関する知識については、私たちの JavaScript 算術ガイド

JavaScript 賦値演算子

賦値演算子は、JavaScript 変数に値を割り当てるために使用されます。

与えられた x = 10 そして y = 5、下表解释了赋值运算符:

演算子 等価 x 中的結果 試してみてください
= x = y x = y x = 5 試してみてください
+= x += y x = x + y x = 15 試してみてください
-= x -= y x = x - y x = 5 試してみてください
*= x *= y x = x * y x = 50 試してみてください
/= x /= y x = x / y x = 2 試してみてください
%= x %= y x = x % y x = 0 試してみてください

賦値演算子に関する知識については、私たちの JavaScript 賦値ガイド

JavaScript 文字列演算子

+ 运算子および += 运算子は、文字列を結合(追加)するために使用できます。

与えられた text1 = "Good "text2 = "Morning"、および text3 = ""、下表解释了该运算符:

演算子 text1 text2 text3 試してみてください
+ text3 = text1 + text2 "Good " "Morning" "Good Morning" 試してみてください
+= text1 += text2 "Good Morning" "Morning" "" 試してみてください

比较运算符

在逻辑语句中使用比较运算符来确定变量或值之间的相等性或差异。

与えられた x = 5、下表解释了比较运算符:

演算子 説明 比较 返回 試してみてください
== 等于 x == 8 false 試してみてください
x == 5 true 試してみてください
=== 相等值和相等类型 x === "5" false 試してみてください
x === 5 true 試してみてください
!== 不相等 x != 8 true 試してみてください
!== 値が異なるまたはタイプが異なる x !== "5" true 試してみてください
x !== 5 false 試してみてください
> 大きい x > 8 false 試してみてください
< 小さい x < 8 true 試してみてください
>= 大きいかまたは等しい x >= 8 false 試してみてください
<= 小さいかまたは等しい x <= 8 true 試してみてください

比較演算子に関する知識については、私たちの JavaScript比較チュートリアル

条件(三元)演算子

条件演算子は条件に基づいて値を変数に割り当てます。

文法

variablename = (condition) ? value1:value2

voteable = (age < 18) ? "Too young":"Old enough";

実際に試してみる

例の説明:

変数「age」の値が18未満である場合、変数「voteable」の値は「Too young」になります。そうでない場合、「voteable」の値は「Old enough」になります。

論理演算子

論理演算子は変数や値の間の論理を決定するために使用されます。

与えられた x = 6 そして y = 3、以下の表は論理演算子を説明しています:

演算子 説明 試してみてください
&& and (x < 10 && y > 1) is true 試してみてください
|| or (x === 5 || y === 5) is false 試してみてください
! not !(x === y) is true 試してみてください

JavaScriptのビット演算子

ビット演算子は32ビットの数を処理できます。この演算におけるどの数も32ビットの数に変換されます。結果はJavaScriptの数に変換されます。

演算子 説明 等価 結果 十进制
& AND x = 5 & 1 0101 & 0001 0001 1
| OR x = 5 | 1 0101 | 0001 0101 5
~ NOT x = ~ 5 ~0101 1010 10
^ XOR x = 5 ^ 1 0101 ^ 0100 4
<< Left shift x = 5 << 1 0101 << 1 1010 10
>> Right shift x = 5 >> 1 0101 >> 1 0010 2

上記の例では4ビットの無符号の例を使用しています。しかし、JavaScriptは32ビットの符号付きの数を使用します。

したがって、JavaScriptでは~5は10ではなく-6を返します。

~00000000000000000000000000000101は11111111111111111111111111111010を返します

typeof演算子

typeof 演算子は変数、オブジェクト、関数、または表現のデータ型を返します:

typeof "Bill"                 // stringを返します
typeof 3.14                   // numberを返します
typeof NaN                    // numberを返します
typeof false                  // booleanを返します
typeof [1, 2, 3, 4]           // objectを返します
typeof {name:'Bill', age:19}  // objectを返します
typeof new Date()             // objectを返します
typeof function () {}         // functionを返します
typeof myCar                  // 未宣言の場合undefinedを返します
typeof null                   // objectを返します

実際に試してみる

注意してください:

  • NaNのデータ型はnumberです
  • 配列のデータ型はobjectです
  • 日付のデータ型はobjectです
  • nullのデータ型はobjectです
  • 未定義の変数のデータ型はundefinedです

typeofを使用してJavaScriptオブジェクトが配列(または日付)であるかどうかを定義することはできません。

typeofを使用してJavaScriptオブジェクトが配列(または日付)であるかどうかを定義することはできません。

delete演算子

delete 演算子はオブジェクトから属性を削除します:

var person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
delete person.age;   // person["age"];を削除

実際に試してみる

delete演算子は属性の値と属性自体を同時に削除します。

削除後、その属性を再度追加する前に使用できません。

delete演算子はオブジェクトの属性に使用されることを意図しています。変数や関数には影響を与えません。

注記:delete 演算子は、預定義の JavaScript オブジェクト属性上で使用すべきではありません。これにより、アプリケーションがクラッシュする可能性があります。

in 演算子

指定された属性が指定されたオブジェクトに存在する場合 in 演算子が true を返す場合、それ以外は false を返します:

// 配列
var cars = ["Saab", "Volvo", "BMW"];
"Saab" in cars          // 返回 false(指定されたインデックス号ではなく値)
0 in cars               // 返回 true
1 in cars               // 返回 true
4 in cars               // 返回 false(存在しない)
"length" in cars        // 返回 true(length は配列属性)
// オブジェクト
var person = {firstName:"Bill", lastName:"Gates", age:19};
"firstName" in person   // 返回 true
"age" in person         // 返回 true
// 預定義オブジェクト
"PI" in Math            // 返回 true
"NaN" in Number         // 返回 true
"length" in String      // 返回 true

実際に試してみる

instanceof 演算子

指定されたオブジェクトが指定されたオブジェクトのインスタンスである場合 instanceof 演算子が true を返す場合:

var cars = ["Saab", "Volvo", "BMW"];
cars instanceof Array;          // 返回 true
cars instanceof Object;         // 返回 true
cars instanceof String;         // 返回 false
cars instanceof Number;         // 返回 false

実際に試してみる

void 演算子

void 演算子は、式を計算して返します undefined。この演算子は、"void(0)"を使用して未定義の原始値を取得するために通常使用されます(計算式を返り値を使用せずに実行する場合に非常に役立ちます)。

<a href="javascript:void(0);">
  役に立たないリンク
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
  クリックすると body の背景色を赤に変更します
</a>

実際に試してみる