Edited at

JavaScriptでゼロ埋め処理

数値型の年、月、日を引数として、yyyymmdd形式で返す関数をプログラマーに依頼したらこんなのが返ってきた。

function yyyymmdd(y, m, d) {

var ymd = y;
if (m < 10) {
ymd += '0' + m;
} else {
ymd += m;
}
if (d < 10) {
ymd += '0' + d;
} else {
ymd += d;
}
return ymd;
}

間違っちゃいないけど…

JavaScriptの初心者向けのサイトとかだと、こういうのがサンプルとして載っていることもなくはないけれど、このコードからはより良いものを作ろうという意思が少しも感じられない。書いていて「もう少しいい感じに書けないかな」とか考えないんだろうか。

というわけで、もう少しいい感じに書いてみたのがコレです。

function yyyymmdd(y, m, d) {

var y0 = ('000' + y).slice(-4);
var m0 = ('0' + m).slice(-2);
var d0 = ('0' + d).slice(-2);
return y0 + m0 + d0;
}