javascriptのunary plusについて

Angularのチュートリアルをやっていて見慣れない記述が気になりました:

+params.get('id')

この+はunary plusといいまして、値を数値に変換してくれるそうです:

developer.mozilla.org

JSFiddleでテストした結果は以下の通り:

console.log(+"3");   // 3
console.log(+'3');   // 3
console.log(+'-3');  // -3
console.log(+'');    // 0
console.log(+'0');   // 0
console.log(+true);  // 1
console.log(+false); // 0
console.log(+null);  // 0

''が0になるのが気持ち悪いと思うのは僕だけでしょうか?

parseIntですと次の結果になります:

console.log(parseInt("3",10));   // 3
console.log(parseInt('3',10));   // 3
console.log(parseInt('-3',10));  // -3
console.log(parseInt('',10));    // NaN
console.log(parseInt('0',10));   // 0
console.log(parseInt(true,10));  // NaN
console.log(parseInt(false,10)); // NaN
console.log(parseInt(null,10));  // NaN