JSチュートリアル

JSホーム JSの紹介 JSどこへ JS出力 JSステートメント JS構文 JSコメント JS変数 JS Let JSConst JSオペレーター JS算術 JS割り当て JSデータ型 JS関数 JSオブジェクト JSイベント JS文字列 JS文字列メソッド JS文字列検索 JS文字列テンプレート JS番号 JS番号メソッド JSアレイ JS配列メソッド JS配列ソート JSアレイの反復 JSアレイ定数 JSの日付 JSの日付形式 JS DateGetメソッド JS日付設定メソッド JS数学 JSランダム JSブール値 JSの比較 JS条件 JSスイッチ JSループFor JSループフォーイン JSループの JSループWhile JSブレイク JSIterables JSセット JSマップ JS Typeof JS型変換 JSビット単位 JS RegExp JSエラー JSスコープ JSホイスト JS厳密モード JSこのキーワード JSアロー関数 JSクラス JS JSON JSデバッグ JSスタイルガイド JSのベストプラクティス JSの間違い JSパフォーマンス JS予約語

JSバージョン

JSバージョン JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE /エッジ JSの歴史

JSオブジェクト

オブジェクト定義 オブジェクトのプロパティ オブジェクトメソッド オブジェクト表示 オブジェクトアクセサー オブジェクトコンストラクター オブジェクトのプロトタイプ オブジェクト反復可能 オブジェクトセット オブジェクトマップ オブジェクトリファレンス

JS関数

関数の定義 関数パラメーター 関数の呼び出し 関数呼び出し 機能適用 関数クロージャ

JSクラス

クラスイントロ クラス継承 クラス静的

JSAsync

JSコールバック JS非同期 JSの約束 JS Async / Await

JS HTML DOM

DOMイントロ DOMメソッド DOMドキュメント DOM要素 DOM HTML DOMフォーム DOM CSS DOMアニメーション DOMイベント DOMイベントリスナー DOMナビゲーション DOMノード DOMコレクション DOMノードリスト

JSブラウザBOM

JSウィンドウ JS画面 JSロケーション JSの歴史 JSナビゲーター JSポップアップアラート JSタイミング JSクッキー

JS Web API

WebAPIイントロ WebフォームAPI Web履歴API WebストレージAPI WebワーカーAPI Web Fetch API Web Geolocation API

JS AJAX

AJAXイントロ AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

JS JSON

JSONイントロ JSON構文 JSONとXML JSONデータ型 JSON解析 JSON文字列化 JSONオブジェクト JSON配列 JSONサーバー JSON PHP JSON HTML JSON JSONP

JSとjQuery

jQueryセレクター jQuery HTML jQuery CSS jQuery DOM

JSグラフィックス

JSグラフィックス JSキャンバス JSPlotly JS Chart.js JSグーグルチャート JS D3.js

JSの例

JSの例 JS HTML DOM JSHTML入力 JSHTMLオブジェクト JSHTMLイベント JSブラウザ JSエディター JS演習 JSクイズ JS証明書

JSリファレンス

JavaScriptオブジェクト HTMLDOMオブジェクト


JavaScript算術


JavaScript算術演算子

算術演算子は、数値(リテラルまたは変数)に対して算術を実行します。

Operator Description
+ Addition
- Subtraction
* Multiplication
** Exponentiation (ES2016)
/ Division
% Modulus (Remainder)
++ Increment
-- Decrement

算術演算

一般的な算術演算は2つの数値で動作します。

2つの数値はリテラルにすることができます。

let x = 100 + 50;

または変数:

let x = a + b;

または式:

let x = (100 + 50) * a;

演算子とオペランド

(算術演算の)数値はオペランドと呼ばれます。

演算(2つのオペランド間で実行される)は、演算子によって定義されます

オペランド オペレーター オペランド
100 + 50


追加する

加算演算子(+)は数値を加算します

let x = 5;
let y = 2;
let z = x + y;

減算

減算演算子(-)は数値を減算します

let x = 5;
let y = 2;
let z = x - y;

掛け算

乗算演算子(*)は数値を乗算します

let x = 5;
let y = 2;
let z = x * y;

分割

除算演算子(/)は数値を除算します

let x = 5;
let y = 2;
let z = x / y;

残り

剰余演算子(%)は除算の余りを返します

let x = 5;
let y = 2;
let z = x % y;

算術では、2つの整数を除算すると、剰余が生成されます。

数学では、モジュロ演算の結果は算術除算 余りです。


インクリメント

インクリメント演算子( )++数値をインクリメントします。

let x = 5;
x++;
let z = x;

デクリメント

デクリメント演算子( )--数値をデクリメントします。

let x = 5;
x--;
let z = x;

べき乗

べき乗演算子(**)は、第1オペランドを第2オペランドの累乗で累乗します

let x = 5;
let z = x ** 2;          // result is 25

x ** yは次と同じ結果を生成しMath.pow(x,y)ます:

let x = 5;
let z = Math.pow(x,2);   // result is 25

演算子の優先順位

演算子の優先順位は、算術式で演算が実行される順序を表します。

let x = 100 + 50 * 3;

上記の例の結果は150 * 3と同じですか、それとも100 + 150と同じですか?

足し算と掛け算のどちらが先に行われますか?

伝統的な学校の数学のように、乗算は最初に行われます。

乗算(*)と除算(/)は、加算)と減算( )よりも優先されます。+-

そして(学校の数学のように)優先順位は括弧を使って変更することができます:

let x = (100 + 50) * 3;

括弧を使用する場合、括弧内の演算が最初に計算されます。

多くの演算の優先順位が同じである場合(加算と減算など)、それらは左から右に計算されます。

let x = 100 + 50 - 3;

JavaScript演算子の優先順位の値

淡い赤色のエントリは、ECMAScript 2015(ES6)以降を示します。

価値 オペレーター 説明
21 () 式のグループ化 (3 + 4)
       
20 メンバー person.name
20 [] メンバー 人["名前"]
20 () 関数呼び出し myFunction()
20 新着 作成 new Date()
       
18 ++ 接尾辞のインクリメント i ++
18 - Postfixデクリメント 私 -
       
17 ++ プレフィックスインクリメント ++ i
17 - プレフィックスデクリメント - 私
17 論理的ではない !(x == y)
17 typeof タイプ typeof x
       
16 **** べき乗(ES2016) 10 ** 2
       
15 * 乗算 10 * 5
15 / 分割 10/5
15 除算剰余 10%5
       
14 + 添加 10 + 5
14 - 減算 10-5
       
13 << 左にシフト x << 2
13 >> 右シフト x >> 2
13 >>> 右シフト(符号なし) x >>> 2
       
12 < 未満 x <y 
12 <= 以下 x <= y
12 >> 大なり記号 x> y
12 > = 以上 x> = y
12 オブジェクトのプロパティ 数学の「PI」
12 instanceof オブジェクトのインスタンス instanceof Array
       
11 == 同等 x == y
11 === 厳密に等しい x === y
11 != 不平等 x!= y
11 !== 厳密な不平等 x!== y
       
10 ビットごとのAND x&y
9 ^ ビット単位のXOR x ^ y
8 | ビットごとのOR x | Y
7 && 論理積 x && y
6 || 論理和 x || Y
5 ?? ヌルの合体 バツ??Y
4 調子 "はい・いいえ"
       
3 + = 割り当て x + = y
3 / = 割り当て x / = y
3 -= 割り当て x- = y
3 * = 割り当て x * = y
3 %= 割り当て x%= y
3 << = 割り当て x << = y
3 >> = 割り当て x >> = y
3 >>> = 割り当て x >>> = y
3 &= 割り当て x&= y
3 ^ = 割り当て x ^ = y
3 | = 割り当て x | = y
       
2 収率 一時停止機能 収量x
1 コンマ 5、6

括弧内の式は、値が式の残りの部分で使用される前に完全に計算されます。


エクササイズで自分をテストする

エクササイズ:

で割り102結果を警告します。

alert(10  2);