数値型の年、月、日を引数として、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;
}