このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
js:basic:operator [2020/10/22 10:05] tanaka |
js:basic:operator [2021/04/12 14:13] (現在) tanaka [その他の演算子] |
||
|---|---|---|---|
| 行 3: | 行 3: | ||
| --- // | --- // | ||
| - | === 算術演算子 === | + | ===== 算術演算子 |
| < | < | ||
| 行 22: | 行 22: | ||
| x = (a++) * (2+a); // x=18, a=4 | x = (a++) * (2+a); // x=18, a=4 | ||
| </ | </ | ||
| + | \\ | ||
| - | === 代入演算子 === | + | ===== 代入演算子 |
| < | < | ||
| 行 31: | 行 32: | ||
| </ | </ | ||
| - | == 分割代入 == | + | ==== 分割代入 ==== |
| + | < | ||
| - | 配列 | + | === 配列 |
| <code javascript> | <code javascript> | ||
| let data = [1, 2, 3, …]; | let data = [1, 2, 3, …]; | ||
| 行 39: | 行 41: | ||
| </ | </ | ||
| - | オブジェクト | + | === オブジェクト |
| <code javascript> | <code javascript> | ||
| let data = {id:1, name:' | let data = {id:1, name:' | ||
| 行 45: | 行 47: | ||
| console.log(user_id, | console.log(user_id, | ||
| </ | </ | ||
| + | \\ | ||
| + | ===== 比較演算子 ===== | ||
| + | < | ||
| + | ==, !=, <, <=, >, >= | ||
| + | ===, !===, → 同値演算子(型と値が同じ) | ||
| + | ?: → 条件演算子 | ||
| + | </ | ||
| + | \\ | ||
| - | === 比較演算子 === | + | ===== 論理演算子 |
| - | === 論理演算子 === | + | < |
| + | &&, ||, ! | ||
| + | </ | ||
| - | === ビット演算子 === | + | falsyの値 ・・・ (空文字), |
| + | ' | ||
| + | \\ | ||
| + | ==== ショートカット演算(短絡演算)==== | ||
| - | === その他の演算子 === | + | <code javascript> |
| + | msg = msg || ' | ||
| + | msg = msg ? msg : ' | ||
| + | msg = msg ?? ' | ||
| + | </ | ||
| + | \\ | ||
| - | === 優先順位 === | + | ===== ビット演算子 ===== |
| + | |||
| + | < | ||
| + | &, |, ^, ~, << | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | ===== その他の演算子 ===== | ||
| + | |||
| + | |演算子|説明| | ||
| + | |, | ||
| + | |delete|配列要素、オブジェクトプロパティ、宣言のない変数の削除 \\ data1 = 1; \\ delete data1; // 削除できる \\ var data2 = 1; \\ delete data2; // 削除できない | | ||
| + | |instanceof|'' | ||
| + | |new|'' | ||
| + | |typeof|データ型を返す(基本型:number, | ||
| + | |void||'' | ||
| + | |||
| + | === deleteの例 === | ||
| + | <code javascript> | ||
| + | data1 = 1; | ||
| + | delete data1; | ||
| + | var data2 = 1; | ||
| + | delete data2; | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | ===== 優先順位 ===== | ||
| + | |||
| + | ^優先順位^演算子^ | ||
| + | | 高 |カッコ類 [],()| | ||
| + | | |インクリメント/デクリメント、単項演算子| | ||
| + | | |算術 【高】*, /, % 【低】+, -| | ||
| + | | |シフト| | ||
| + | | |比較 【高】<, | ||
| + | | |ビット【高】< | ||
| + | | |論理 【高】&&, | ||
| + | | |条件| | ||
| + | | |代入| | ||
| + | | 低 |カンマ| | ||
| + | |||
| + | ===== 結合則 ===== | ||
| + | |||
| + | 優先順位が同じ時の演算の順序 | ||
| + | |||
| + | **左結合** ・・・ 左 → 右に演算する(算術、比較、論理、ビットなど) | ||
| + | |||
| + | 例 | ||
| + | <code javascript> | ||
| + | a + b - c | ||
| + | </ | ||
| + | |||
| + | - a + b | ||
| + | - 〔1.の結果〕+ c | ||
| + | |||
| + | **右結合** ・・・ 右 → 左に演算する(単項、代入、条件など) | ||
| + | |||
| + | 例 | ||
| + | <code javascript> | ||
| + | a = b = c; | ||
| + | </ | ||
| + | |||
| + | - b = c | ||
| + | - a = 〔1.の結果〕 | ||
| + | |||
| + | <code javascript> | ||
| + | !!!a; | ||
| + | </ | ||
| - | === 結合則 === | + | - !a |
| + | - !〔1.の結果〕 | ||
| + | - !〔2.の結果〕 | ||