NACの勉強の経過を綴るところ

個人的なコードの勉強

【JS】数値の桁揃え

JS逆引きレシピ本、059(P101)。


このページに書いてあったのは桁揃えの方法ではないのだが、これを使えば簡単にできると思ったのでメモ。


数値の桁揃えとは、桁数が少ないときに、頭に「0」を足すことである。
よくあるパターンとしては、月を2桁揃えにとういつするために、「1, 2, 3, …10, 11, 12」とあるものを「01, 02, 03, …10, 11, 12」とするものだ。


いままで、これをわざわざ面倒な計算で行っていた。
PHPの構文ではあるが、以下のような感じである。

var $month = 9;
var $monthStr;

if ($month<10) {
   $monthStr ="0".  $month;
}


すごいバカみたいな書き方。
桁数が増えたらどうするのかっていう話である。
この思考の流れのまま進めていったら、せいぜいswitch文に切り替える程度で、基本的には桁数分だけcaseを書くの?というツッコミが。
「頭の悪い書き方」という例題に載りそうなやり方だ。


今回の例で行けば、以下のように書けば完結する。

let month = 9;

console.log(month.padStart(2, '0');  // 09

「padStart()」とは、任意の文字列の頭に、指定された桁数まで、指定された任意の文字で文字埋めをしてくれるメソッドである。
それでいいじゃん。
簡単だな。
っていうか、改めて見ても、最初の書き方がバカみたいだな。