JavaScriptで= +_はどういう意味ですか?質問する

JavaScriptで= +_はどういう意味ですか?質問する

JavaScript の= +_演算子が何を意味するのか疑問に思いました。代入を行うようです。

例:

hexbin.radius = function(_) {
   if (!arguments.length)
       return r;
   r = +_;
   dx = r * 2 * Math.sin(Math.PI / 3);
   dy = r * 1.5;
   return hexbin;
};

ベストアンサー1

r = +_;
  • +_何でも数値に変換しようとします。
  • _は変数名のみであり(演算子ではない)、 などになることもありaますfoo

例:

+"1"

「1」を純粋な数値 1 に変換します。

var _ = "1";
var r = +_;

r今は であり1、 ではありません"1"

さらに、MDN の算術演算子のページによると、

単項プラス演算子はオペランドの前にあり、オペランドに評価されますが、それがまだ数値でない場合は数値に変換しようとします[...]整数と浮動小数点数の文字列表現、および非文字列値truefalse、を変換できますnull。10 進数と 16 進数 ( "0x"- プレフィックス付き) の両方の形式の整数がサポートされています。負の数はサポートされています (ただし、16 進数ではサポートされていません)。特定の値を解析できない場合は と評価されますNaN

また、

単項加算は何かを数値に変換する最も速くて好ましい方法です

おすすめ記事