最近知った js の話

目次

  1. 1. 前フリ
  2. 2. padStart()
    1. 2.1. String.prototype.padStart() JavaScript | MDN :
    2. 2.2. String.prototype.slice() - JavaScript | MDN :
  3. 3. Template literals
    1. 3.1. Template literals (Template strings) - JavaScript | MDN :
  4. 4. Support

こんにちは TOMMY です。
たまには IT 業界人らしく技術ブログっぽいものを書いてみます。

前フリ

タイトルのとおりですが、今日は JavaScript の話です。
別に大した内容じゃないんですが、最近こんなメソッドを見つけて地味に便利で感動しているっていう話をメモ書き程度ですが残していきたいと思います。

padStart()

String.prototype.padStart() JavaScript | MDN :

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/padStart

"1".padStart(2, 0); //=> "01"
"12".padStart(2, 0); //=> "12"

基本的な使い方はこんなかんじです。

const date = new Date();
console.log(
(date.getMonth() + 1).toString().padStart(2, 0)
); //=> "02"

month の 0 埋めなどに便利です。

String.prototype.slice() - JavaScript | MDN :

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice

ちなみに 0 埋めだけなら slice を使うほうが手取り早かったりもします。
これもちょくちょく見かける方法です。IE対応するならこの方がベターですが、何をやっているのかいまいち直感的に理解できないのが難点です。可読性とのトレードオフですかね。

const date = new Date();
console.log(
("0" + (date.getMonth() + 1)).slice(-2)
); //=> "02"

Template literals

Template literals (Template strings) - JavaScript | MDN :

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

const nowYear = new Date().getFullYear();
console.log(`現在は${nowYear}年です。`);
//=> 現在は2019年です。

こんなかんじでバッククオートを使うと文字列に式を埋め込んだりできます。

Support

今日紹介したものはどちらもIEはダメです。IEでどうしても使いたい場合は Babel 等によるトランスパイル必須です。
まあES5以前のJSでもどうにかできないことはないですが、IEはほんと開発者泣かせですね。

スポンサーリンク
share