63336
JavaScriptで掛け算する際に、+を変数名につける意味って分かる方いますか？

以下の場合、calc1とcalc2は同じ結果になりますが、おまじない的な何かでしょうか？

```

    class Data {
      constructor(val1, val2) {
        this.val1 = val1
        this.val2 = val2
      }
      calc1() {
        return this.val1 * this.val2
        }
      calc2() {
        return this.val1 * +this.val2 // <-- ここが理解できない
        }
    }
    
    const data = new Data(100.12, 141.24)
    
    data.calc1()
    // => 14140.948800000002
    data.calc2()
    // => 14140.948800000002
    // 同じ結果になっている
    
```
CC BY-SA 4.0
2020-02-25T03:32:18.977
63335
2020-02-25T05:24:12.463
2020-02-25T05:24:12.463
3060
35909
question
javascript
"return arg1 * +arg2" この式のプラス記号の意味
これではないですかね。(太字は引用者)

[単項加算 (+) - JavaScript |
MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Unary_plus_)

> 単項加算演算子はオペランドの前に置かれてオペランドを評価しますが、 **数値ではない値を数値に変換しようとします。** 単項負値 (-)
> も数値ではない値を変換できますが、 **単項加算は数値に対して何も操作しないため最速であり、なんらかの値を数値に変換するための好ましい方法です。**
> 整数や浮動小数点数の文字表現に加えて、文字列ではない値 true、false、null も変換できます。10 進数および 16 進数 (接頭辞
> "0x") 表記の整数をサポートします。負の数もサポートします (ただし 16 進数表記を除く)。個々の値を解釈できない場合は、 NaN
> に評価されます。
CC BY-SA 4.0
2020-02-25T04:18:28.730
63336
2020-02-25T04:18:28.730
26370
63335
answer