JavaScript/-@

カテゴリ:Book:JavaScript#-@%20

-(Unary - Operator) は、ECMAScript における単項マイナス演算子です。この演算子は、オペランドを数値に変換し、その符号を反転させます。つまり、正の数は負の数に、負の数は正の数に変換されます[1]

構文

* expression
  • expression: 数値に変換され、符号が反転される式。

この演算子は、以下のように使用されます:

let result = -expression;

動作

単項マイナス演算子 (-) は、以下の手順で動作します:

  1. 式の評価: expression を評価します。
  2. 数値への変換: 評価結果を数値に変換します(ToNumber 抽象操作を使用)。
  3. 符号の反転: 変換された数値の符号を反転させます。
  4. 結果の返却: 符号が反転された数値を返します。

基本的な使用法

以下のプログラムは、単項マイナス演算子の基本的な使用法を示しています。

// 基本的な使用法
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 に変換され、符号が反転)

このプログラムでは、true1 に、false0 に、null0 に、"42"42 に変換され、それぞれ符号が反転されます。

日付オブジェクトでの使用

以下のプログラムは、日付オブジェクトに対して単項マイナス演算子を使用する例を示しています。

// 日付オブジェクトでの使用
let date = new Date();
let timestamp = -date;

console.log(timestamp); // 現在のタイムスタンプの符号を反転(ミリ秒単位)

このプログラムでは、Date オブジェクトがタイムスタンプ(ミリ秒単位の数値)に変換され、その符号が反転されます。

注意点

  • 数値への変換: 単項マイナス演算子は、オペランドを数値に変換します。変換できない場合(例: "Hello")、NaN が返されます。
  • 副作用: 単項マイナス演算子自体は副作用を持ちませんが、オペランドの評価に副作用がある場合、その副作用が発生します。
  • 符号の反転: 単項マイナス演算子は、数値の符号を反転させるために使用されます。例えば、-4242 に、42-42 になります。

脚註

  1. 単項マイナス演算子は、数値の符号を反転させるために使用されます。

外部リンク

カテゴリ:Book:JavaScript#-@%20 カテゴリ:JavaScript
カテゴリ:Book:JavaScript カテゴリ:JavaScript カテゴリ:Pages using the JsonConfig extension