⊗jsPmBsPPT 60 of 505 menu

JavaScriptにおけるプレフィックス型とポストフィックス型

実際には、インクリメントとデクリメントの演算は 二通りの方法で記述できます。まずは++を例にして これらの方法を見てみましょう。--についても すべて同様です。

最初の方法では、演算は変数名の後に記述されます。 このように:a++。二つ目の方法では、 変数名の前に記述されます。このように:++a

最初の形式はポストフィックス、 二つ目はプレフィックスと呼ばれます。 これら二つの形式の違いが現れるケースを見てみましょう。

alert(a++)というコードと alert(++a)というコードがあるとします。

alert(a++)の場合、変数はまず 表示された後、1だけ増加します。 一方、alert(++a)の場合、変数はまず 1だけ増加し、その後表示されます。

次の例では、最初のalert0を出力します。なぜなら、最初に画面への出力が行われ、 その後で変数が増加するからです:

let num = 0; alert(num++); // 0を出力 alert(num); // 1を出力

今度は、変数が最初に増加し、 その後で画面に出力されます:

let num = 0; alert(++num); // 1を出力 - 変数は直ちに増加しました

この動作は、画面への出力だけでなく、 代入に対しても有効です:

let num1 = 0; let num2 = num1++; // 変数num2には0が書き込まれます alert(num2); // 0を出力 alert(num1); // 1を出力 - 変数num1はnum2への書き込み後に変更されました

次に、ポストフィックス形式をプレフィックス形式に変えてみましょう:

let num1 = 0; let num2 = ++num1; // 変数num2には1が書き込まれます alert(num2); // 1を出力

演算が独立した行で実行される場合、 プレフィックス形式とポストフィックス形式の間に 違いはありません:

let num = 0; ++num; num++; alert(num); // 2を出力

コードを実行せずに、画面に何が表示されるか 判断してください:

let num = 3; alert(++num);

コードを実行せずに、画面に何が表示されるか 判断してください:

let num = 3; alert(num++);

コードを実行せずに、画面に何が表示されるか 判断してください:

let num = 3; alert(--num);

コードを実行せずに、画面に何が表示されるか 判断してください:

let num = 3; alert(num--);

コードを実行せずに、画面に何が表示されるか 判断してください:

let num1 = 3; let num2 = ++num1; alert(num1); alert(num2);

コードを実行せずに、画面に何が表示されるか 判断してください:

let num1 = 3; let num2 = num1++; alert(num1); alert(num2);

コードを実行せずに、画面に何が表示されるか 判断してください:

let num1 = 3; let num2 = --num1; alert(num1); alert(num2);

コードを実行せずに、画面に何が表示されるか 判断してください:

let num1 = 3; let num2 = num1--; alert(num1); alert(num2);

コードを実行せずに、画面に何が表示されるか 判断してください:

let num1 = 3; num1++; let num2 = num1--; alert(num1++); alert(--num2);
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否