JavaScriptのNumber()と+演算子の違い
結論
code:javascript
Number(1n); // 1
+1n; // Uncaught TypeError: Cannot convert a BigInt value to a number
Number(式)
+式
一見同じっぽい変換方法だけど微妙な違いがある
Number(式)と+式の違い
式がBigIntの場合だけ挙動に違いが生まれる
+演算子にBigIntを渡すとTypeErrorを吐く
BigIntを数値に変換する(する可能性がある)場合はNumber(式)を使う
code:javascript
Number("1"); // 1
+"1"; // 1
Number(1n); // 1
+1n; // Uncaught TypeError: Cannot convert a BigInt value to a number
余談
-演算子はBigIntを渡してもエラーを吐かない