Question: For example, this piece of code:

```
Number("") + Number("")

```

I expect to return "" (aka nothing)
so I created this function

```
    function addthese(x, y){
        if (x != ""){
            asdf = Number(x) + Number(y)
            return  Number(asdf)
        } else {
            return ""
        }
    }

```

But for some reason this function returns `NaN`  

Any help will be appreciated

Answer: 
Perhaps, you might be calling the function without passing in parameters. I did some quick tests and that's the only way i managed to reproduce the "NaN" returning.

If that's the case, the function will "parse" an undefined value, which is not possible and you'll get that ugly NaN you got.
Even though the `Number` function can convert an empty string to 0, for any non-number string, it doesn't have a clue. So, `NaN` is returned.

```js
console.log(Number(""));
console.log(Number(undefined));
console.log(Number("foo"));
```