Es6-operators

提供:Dev Guides
移動先:案内検索

ES6-オペレーター

*expression* は、値に評価される特別な種類のステートメントです。 すべての式はで構成されています-
  • Operands -データを表します。
  • 演算子-値を生成するためにオペランドを処理する方法を定義します。

次の式2 + 3を検討してください。 この式では、2と3はオペランドであり、記号+(プラス)は演算子です。 JavaScriptは、演算子の次のタイプをサポートしています-

  • 算術演算子
  • 論理演算子
  • 関係演算子
  • ビットごとの演算子
  • 割り当て演算子
  • 三項/条件演算​​子
  • 文字列演算子
  • タイプ演算子
  • void演算子

算術演算子

変数 a および b の値がそれぞれ10および5であると仮定します。

リンク:/es6/es6_arithmetic_operators_examples [例を表示]

Operator Function Example
+

Addition

オペランドの合計を返します。

a + b is 15
-

Subtraction

値の差を返します。

a-b is 5
*a
  • Multiplication*

値の積を返します。

a*b is 50
/a

Division

除算を実行し、商を返します。

a/b is 2
%

Modulus

除算を実行し、剰余を返します。

a%b is 0
++

Increment

変数の値を1つ増やします。

a++ is 11
 — 

Decrement

変数の値を1減らします。

a-- is 9

関係演算子

関係演算子は、2つのエンティティ間の関係の種類をテストまたは定義します。 関係演算子はブール値、つまり 正誤。

Aの値が10で、Bが20であると仮定します。

リンク:/es6/es6_relational_operators_examples [例を表示]

Operators Description Example
> Greater than (A > B) is False
< Lesser than (A < B) is True
>= Greater than or equal to (A >= B) is False
Lesser than or equal to (A ⇐ B) is True
== Equality (A == B) is False
!= Not Equal (A!= B) is True

論理演算子

論理演算子は、2つ以上の条件を結合するために使用されます。 論理演算子もブール値を返します。 変数Aの値が10で、Bが20であると仮定します。

link:/es6/es6_logical_operators_examples [例を表示]。

Operators Description Example
&&

And

指定されたすべての式がtrueを返す場合にのみ、演算子はtrueを返します。

(A > 10 && B > 10) is False

Or

指定された式の少なくとも1つがtrueを返す場合、演算子はtrueを返します。

(A > 10
B > 10) is True !

Not

演算子は、式の結果の逆を返します。 例:!(7> 5)はfalseを返します。

ビット演算子

JavaScriptは、以下のビット演算子をサポートしています。 次の表は、JavaScriptのビット演算子をまとめたものです。

リンク:/es6/es6_bitwise_operators_examples [例を表示]。

Operators Usage Description
Bitwise AND a & b Returns a one in each bit position for which the corresponding bits of both operands are ones
Bitwise OR a b
Returns a one in each bit position for which the corresponding bits of either or both operands are ones Bitwise XOR a^b
Returns a one in each bit position for which the corresponding bits of either but not both operands are ones Bitwise NOT ~ a
Inverts the bits of its operand Left shift a << b
Shifts a in binary representation b (< 32) bits to the left, shifting in zeroes from the right Sign-propagating right shift a >> b
Shifts a in binary representation b (< 32) bits to the right, discarding bits shifted off Zero-fill right shift a >>> b

割り当て演算子

次の表は、割り当て演算子をまとめたものです。

link:/es6/es6_assignment_operators_examples [例を表示]。

Sr.No Operator & Description
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)

左のオペランドを右のオペランドで除算し、結果を左のオペランドに割り当てます。

注意-ビット単位演算子にも同じ論理が適用されるため、それらは<< =、>> =、>> =、&=、| =および^ =になります。

その他の演算子

以下はその他の演算子の一部です。

否定演算子(-)

値の符号を変更します。 次のプログラムは同じ例です。

var x = 4
var y = -x;
console.log("value of x: ",x);//outputs 4
console.log("value of y: ",y);//outputs -4

上記のプログラムが正常に実行されると、次の出力が表示されます。

value of x: 4
value of y: -4

文字列演算子:連結演算子(+)

+演算子を文字列に適用すると、2番目の文字列が最初の文字列に追加されます。 次のプログラムは、この概念を理解するのに役立ちます。

var msg = "hello"+"world"
console.log(msg)

上記のプログラムが正常に実行されると、次の出力が表示されます。

helloworld

連結操作は、文字列間にスペースを追加しません。 1つのステートメントで複数の文字列を連結できます。

条件演算子(?)

この演算子は、条件式を表すために使用されます。 条件演算子は、三項演算子とも呼ばれます。 構文は次のとおりです。

Test ? expr1 : expr2

どこで、

テスト-条件式を参照

*expr1* -条件が真の場合に返される値
*expr2* -条件が偽の場合に返される値

var num = -2
var result = num > 0 ?"positive":"non-positive"
console.log(result)

行2は、変数numの値がゼロより大きいかどうかを確認します。 numがゼロより大きい値に設定されている場合、文字列「positive」を返します。それ以外の場合、「non-positive」文字列が返されます。

上記のプログラムが正常に実行されると、次の出力が表示されます。

non-positive

typeof演算子

これは単項演算子です。 この演算子は、オペランドのデータ型を返します。 次の表に、JavaScriptの typeof 演算子によって返されるデータ型と値を示します。

Type String Returned by typeof
Number "number"
String "string"
Boolean "boolean"
Object "object"

次のコード例は、数値を出力として表示します。

var num = 12
console.log(typeof num);//output: number

上記のコードが正常に実行されると、次の出力が表示されます。

number

スプレッドオペレーター

*ES6* は* spreadオペレーター*と呼ばれる新しいオペレーターを提供します。 スプレッド演算子は、3つのドット「...」で表されます。 スプレッド演算子は、配列を個々の配列要素に変換します。

スプレッド演算子と関数

次の例は、関数でのスプレッド演算子の使用を示しています

<script>
   function addThreeNumbers(a,b,c){
      return a+b+c;
   }
   const arr = [10,20,30]
   console.log('sum is :',addThreeNumbers(...arr))
   console.log('sum is ',addThreeNumbers(...[1,2,3]))
</script>

上記のコードの出力は以下のようになります-

sum is : 60
sum is 6

スプレッド演算子と配列のコピーと連結

スプレッド演算子を使用して、ある配列を別の配列にコピーできます。 2つ以上の配列を連結するためにも使用できます。 これは以下の例に示されています-

<script>
  //copy array using spread operator
   let source_arr = [10,20,30]
   let dest_arr = [...source_arr]
   console.log(dest_arr)

  //concatenate two arrays
   let arr1 = [10,20,30]
   let arr2 =[40,50,60]
   let arr3 = [...arr1,...arr2]
   console.log(arr3)
</script>

上記のコードの出力は以下のようになります-

[10, 20, 30]
[10, 20, 30, 40, 50, 60]

スプレッドオペレーターとオブジェクトのコピーと連結

スプレッド演算子は、あるオブジェクトを別のオブジェクトにコピーするために使用できます。 2つ以上のオブジェクトを連結するためにも使用できます。 これは以下の例に示されています-

<script>
  //copy object
   let student1 ={firstName:'Mohtashim',company:'finddevguides'}
   let student2 ={...student1}
   console.log(student2)
  //concatenate objects
   let student3 = {lastName:'Mohammad'}
   let student4 = {...student1,...student3}
   console.log(student4)
</script>

上記のコードの出力は以下のようになります-

{firstName: "Mohtashim", company: "finddevguides"}
{firstName: "Mohtashim", company: "finddevguides", lastName: "Mohammad"}