JavaScript/-@
-
(Unary - Operator) は、ECMAScript における単項マイナス演算子です。この演算子は、オペランドを数値に変換し、その符号を反転させます。つまり、正の数は負の数に、負の数は正の数に変換されます[1]。
構文
* expression
expression
: 数値に変換され、符号が反転される式。
この演算子は、以下のように使用されます:
let result = -expression;
動作
単項マイナス演算子 (-
) は、以下の手順で動作します:
- 式の評価:
expression
を評価します。 - 数値への変換: 評価結果を数値に変換します(
ToNumber
抽象操作を使用)。 - 符号の反転: 変換された数値の符号を反転させます。
- 結果の返却: 符号が反転された数値を返します。
例
基本的な使用法
以下のプログラムは、単項マイナス演算子の基本的な使用法を示しています。
// 基本的な使用法 let a = 42; let result = -a; console.log(result); // -42
このプログラムでは、42
の符号が反転され、-42
が返されます。
数値以外の型での使用
以下のプログラムは、数値以外の型に対して単項マイナス演算子を使用する例を示しています。
// 数値以外の型での使用 let b = true; let c = false; let d = null; let e = "42"; console.log(-b); // -1 (true は 1 に変換され、符号が反転) console.log(-c); // -0 (false は 0 に変換され、符号が反転) console.log(-d); // -0 (null は 0 に変換され、符号が反転) console.log(-e); // -42 (文字列 "42" は 42 に変換され、符号が反転)
このプログラムでは、true
は 1
に、false
は 0
に、null
は 0
に、"42"
は 42
に変換され、それぞれ符号が反転されます。
日付オブジェクトでの使用
以下のプログラムは、日付オブジェクトに対して単項マイナス演算子を使用する例を示しています。
// 日付オブジェクトでの使用 let date = new Date(); let timestamp = -date; console.log(timestamp); // 現在のタイムスタンプの符号を反転(ミリ秒単位)
このプログラムでは、Date
オブジェクトがタイムスタンプ(ミリ秒単位の数値)に変換され、その符号が反転されます。
注意点
脚註
- ↑ 単項マイナス演算子は、数値の符号を反転させるために使用されます。