变量前的加号有什么用?

2022-08-29 23:22:57

什么在+d

function addMonths(d, n, keepTime) { 
    if (+d) {

意味 着?


答案 1

运算符返回对象的数字表示形式。因此,在您的特定情况下,它似乎是在假设是否为非零数字。+d

参考此处。而且,正如评论中指出的那样,在这里


答案 2

运算符是将值转换为数字的一元运算符。下表包含将此运算符用于不同值的相应结果。+

+----------------------------+-----------+
| Value                      | + (Value) |
+----------------------------+-----------+
| 1                          | 1         |
| '-1'                       | -1        |
| '3.14'                     | 3.14      |
| '3'                        | 3         |
| '0xAA'                     | 170       |
| true                       | 1         |
| false                      | 0         |
| null                       | 0         |
| 'Infinity'                 | Infinity  |
| 'infinity'                 | NaN       |
| '10a'                      | NaN       |
| undefined                  | NaN       |
| ['Apple']                  | NaN       |
| function(val){ return val }| NaN       |
+----------------------------+-----------+

运算符 返回已实现方法 的对象的值。+valueOf

let something = {
    valueOf: function () {
        return 25;
    }
};

console.log(+something);