JavaScriptで日付に0を付けるときにif(num < 10)のようにして10未満の時に'0'を付けて返す日付用の関数をたまに見かけるが書き方によっては良くない結果を招くことがある。 たとえば下記のようなコードだと10未満の場合0を付けて返し、そうでなければそのまま返す。 var month03 = 3; var month12 = 12; function addZero(num){ if(num < 10){ num = '0' + num; } return num; }; console.log(addZero(month03) + ' ' + typeof(addZero(month03))); // 03 string console.log(addZero(month12) + ' ' + typeof(addZero(month12))); // 12 number