Es6-operators
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 |
値の積を返します。 |
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) 左のオペランドから右のオペランドを減算し、結果を左のオペランドに割り当てます。
|
4 |
右オペランドと左オペランドを乗算し、結果を左オペランドに割り当てます。 例 *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"}