単項プラス (+)

単項プラス演算子 (+) は、オペランドの前に置かれ、そのオペランドを評価し、それが数値以外の場合は数値に変換します。

Operator: +x

説明

単項マイナス (-) も非数値を数値に変換できますが、単項プラスは数値に対して他の演算を行わないため、非数値を数値に変換する最も高速で好ましい方法です。これは、整数や浮動小数点の文字列表現や、非文字列値である truefalsenull を変換することができます。10進数と16進数(接頭辞 0x)の両形式の整数と負の数(16進数の負の数はサポートされていません)がサポートされています。BigInt 値に対してこの演算子を使用すると TypeError がスローされます。特定の値を解析できない場合は、NaN と評価されます。

数値での使い方

const x = 1;
const y = -1;

console.log(+x);
// 1
console.log(+y);
// -1

数値以外での使い方

+true  // 1
+false // 0
+null  // 0
+function(val){ return val } // NaN
+1n    //  BigInt 値は数値に変換できないためエラーになります

仕様

仕様書
ECMAScript (ECMA-262)
Unary plus operator の定義

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
Unary plus (+)Chrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 3Opera 完全対応 4Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.1.100

凡例

完全対応  
完全対応

関連情報