Water Sunlight

軽量プログラミングの文法 - JavaScript/Python

ユーザ用ツール

サイト用ツール


js:basic:operator

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
js:basic:operator [2020/10/22 10:17]
tanaka
js:basic:operator [2021/04/12 14:13] (現在)
tanaka [その他の演算子]
行 3: 行 3:
  --- //[[http://www.y2sunlight.com/water|y2sunlight]] 2020-10-20//  --- //[[http://www.y2sunlight.com/water|y2sunlight]] 2020-10-20//
  
-=== 算術演算子 ===+===== 算術演算子 =====
  
 <code> <code>
行 22: 行 22:
 x = (a++) * (2+a); // x=18, a=4 x = (a++) * (2+a); // x=18, a=4
 </code> </code>
 +\\
  
-=== 代入演算子 ===+===== 代入演算子 =====
  
 <code> <code>
行 31: 行 32:
 </code> </code>
  
-**分割代入<sup>[[js:top#ECMAScript|*2015]]</sup>**+==== 分割代入 ==== 
 +<sup>[[js:top#ECMAScript|*2015]]</sup>
  
-配列+=== 配列 ===
 <code javascript> <code javascript>
 let data = [1, 2, 3, …]; let data = [1, 2, 3, …];
行 39: 行 41:
 </code> </code>
  
-オブジェクト+=== オブジェクト ===
 <code javascript> <code javascript>
 let data = {id:1, name:'iwata', …}; let data = {id:1, name:'iwata', …};
行 45: 行 47:
 console.log(user_id, user_name); console.log(user_id, user_name);
 </code> </code>
 +\\
  
-=== 比較演算子 ===+===== 比較演算子 =====
  
 <code> <code>
行 53: 行 56:
 ?:                   → 条件演算子 ?:                   → 条件演算子
 </code> </code>
 +\\
  
-=== 論理演算子 ===+===== 論理演算子 =====
  
 <code> <code>
行 60: 行 64:
 </code> </code>
  
-falsyの値 ・・・ ''(空文字), 0, null, undefined Nan \\+falsyの値 ・・・ (空文字), 0, null, undefined Nan \\
 '0'はfalsyでない(※PHPと違う) '0'はfalsyでない(※PHPと違う)
- +\\ 
-== ショートカット演算(短絡演算) ==+==== ショートカット演算(短絡演算)====
  
 <code javascript> <code javascript>
行 70: 行 74:
 msg = msg ?? 'Default Message';  // [ES2020] msg = msg ?? 'Default Message';  // [ES2020]
 </code> </code>
 +\\
  
-=== ビット演算子 ===+===== ビット演算子 =====
  
-=== その他の演子 ===+<code> 
 +&, |, ^, ~, <<(論理シフト), >>(術), >>>(論理シフト) 
 +</code> 
 +\\
  
-=== 優先順位 ===+===== その他の演算子 ===== 
 + 
 +|演算子|説明| 
 +|,(カンマ)|''制御文''
 +|delete|配列要素、オブジェクトプロパティ、宣言のない変数の削除 \\ data1 = 1; \\ delete data1; // 削除できる \\ var data2 = 1; \\ delete data2; // 削除できない | 
 +|instanceof|''オブジェクト''
 +|new|''オブジェクト''
 +|typeof|データ型を返す(基本型:number, string 参照型:object) \\ ※参照型を詳しく調べたい時はinstanceof演算子を使う| 
 +|void||''DOM''
 + 
 +=== deleteの例 === 
 +<code javascript> 
 +data1 = 1; 
 +delete data1;  // 削除できる 
 +var data2 = 1; 
 +delete data2;  // 削除できない 
 +</code> 
 +\\ 
 + 
 +===== 優先順位 ===== 
 + 
 +^優先順位^演算子^ 
 +|  高  |カッコ類 [],()| 
 +| |インクリメント/デクリメント、単項演算子| 
 +| |算術 【高】*, /, % 【低】+, -| 
 +| |シフト| 
 +| |比較 【高】<, <=, >=, > 【低】==, !=, ===, !==| 
 +| |ビット【高】<nowiki>&, ^, |</nowiki>【低】| 
 +| |論理 【高】&&, <nowiki>||</nowiki>【低】| 
 +| |条件| 
 +| |代入| 
 +|  低  |カンマ| 
 + 
 +===== 結合則 ===== 
 + 
 +優先順位が同じ時の演算の順序 
 + 
 +**左結合** ・・・ 左 → 右に演算する(算術、比較、論理、ビットなど) 
 + 
 +例 
 +<code javascript> 
 +a + b - c 
 +</code> 
 + 
 +  - a + b 
 +  - 〔1.の結果〕+ c 
 + 
 +**右結合** ・・・ 右 → 左に演算する(単項、代入、条件など) 
 + 
 +例 
 +<code javascript> 
 +a = b = c; 
 +</code> 
 + 
 +  - b = c 
 +  - a = 〔1.の結果〕 
 + 
 +<code javascript> 
 +!!!a; 
 +</code>
  
-=== 合則 ===+  - !a 
 +  - !〔1.の果〕 
 +  - !〔2.の結果〕
  
js/basic/operator.1603329461.txt.gz · 最終更新: 2020/10/22 10:17 by tanaka