拡張機能研究所

おすすめのブラウザ拡張機能をマンガ形式で紹介!

2025/09/06 10:00

「padStart」と「padEnd」、知らなかった!JavaScriptのちょっと便利な小技3選✨

JavaScriptで地味に手間だった文字列の調整、実は「padStart」と「padEnd」で簡単にできるんです。 それだけじゃなくて、フォームのsubmitで直接JavaScriptを実行したり、data属性をまとめて取れる便利な方法も紹介します💡

なんとなく「文字の長さを揃えたいな〜」って時、つい自分でスペースや数字を手動で足したりしてなかった?わたしはめちゃくちゃやってたんだけど、JavaScriptにはちゃんとそのためのメソッドがあるんだって知って、かなりびっくりした😳

padStart と padEnd で文字列の長さを調整できるんだよ🌸

例えば数字をゼロパディングしたいとき、いままでこんなコードを書いてたひと、いると思うんだよね👇

let num = '7';
while (num.length < 3) {
  num = '0' + num;
}
// → "007"

でも実は、JavaScriptの文字列には
padStart(targetLength, padString)
padEnd(targetLength, padString) っていう便利なメソッドがある✨

これ使うとこうなるよ👇

let num = '7';
num = num.padStart(3, '0'); // "007"

なるほどね…?って感じじゃない?💭
わたしも友達に聞くまで全然知らなかった🥺


フォームのsubmitでJavaScriptを直接実行できるって知ってた?🤔

さらに、これもびっくりしたけど
formタグのaction
javascript:console.log('送信されたよ!')
みたいに書くと、フォーム送信のときにJavaScriptが直接走るんだって💬

普通は送信先URLを指定するところだけど、こういう使い方もあるのか〜って思った😆
テストとかデバッグのときにちょっと便利かも?🌸


data属性の取り扱いがもっとラクに!element.dataset✨

あとは、HTMLの要素に data-productId="123" とか属性つけてること、よくあるよね?
これ、JavaScriptでまとめて取得するときって意外と面倒じゃない?👀

でも実は、

element.dataset

ってやると、data属性がオブジェクトとしてぜーんぶ取れちゃうんだよね❣️

例えば

<div id="item1" data-product-id="123" data-category="books"></div>
const el = document.getElementById('item1');
console.log(el.dataset.productId); // "123"
console.log(el.dataset.category);  // "books"

こんな感じで、カンタンにアクセスできちゃう✨
この便利さ、使わないと損かも〜💗


というわけで、今日はわたしが最近知って「なんで今まで誰も教えてくれなかったの!?」って思ったJSの便利技3つを紹介してみたよ🎀

padStart/padEndで文字列の長さ調整
フォームのactionでJavaScriptを直接実行
data属性はdatasetでまとめて取得

このあたりは知っておいて損しないし、ちょっとした手間が減るからぜひ試してみてね🤗✨

ひとことアニメーション表示ON
えっマジ!?これ超使えるじゃん😳

コメント

アバター

キンバリー

`JSON.stringify`はインデント指定で見やすく出力できるよ:`JSON.stringify(obj, null, 2)`

アバター

ミア

ループに名前を付けて特定のループだけbreakやcontinueできるの、知ってる?

アバター

リリー

「Leftpad」の悪夢を思い出すなあ。

アバター

クリス

HTMLのidは自動でグローバル変数になるから、思わぬ衝突に注意だよ。

アバター

ロバート

昔働いてた大手企業で、ユーザーの名字をidにしてバグった話があったんだ。

アバター

キンバリー

Intl APIなら追加ライブラリなしで数字や通貨、日付のフォーマットが簡単にできるよ。

アバター

ハンナ

新しい開発者はぜひES6からちゃんと学んで、古いStackoverflowには頼らない方がいいよ。

アバター

レオ

文字列の.searchメソッドはマジで神機能。

アバター

グレース

ECMAScriptは毎年新しいバージョンが出るから、常に最新を追わないとね。

アバター

ミア

localStorageやsessionStorageはオブジェクトみたいに直接値の読み書きできるよ。

アバター

クリス

話してるのはJavaScriptじゃなくてDOM APIで、ブラウザ依存が大きいから注意してね。

アバター

ノーラン

インラインJavaScriptはセキュリティポリシーとか面倒になるから、デバッグはブレークポイント使ったほうがいいよ。

アバター

ジョージ

actionにjavascript:があるのはアドレスバーからJSを実行できるからで、ブックマークレットの仕組みだよ。

アバター

エイダン

ブラウザのData URIスキームを使ったファイルのエンコードとかも楽しいよね。

アバター

チャーリー

新しいCSSプロパティを見つけるたびに感動するんだ、わかる?

アバター

ハンナ

これは煽り?

アバター

ベン

JSの知られてない部分は実はWebのDOM APIだったりする。 API一覧を見ると驚くよ。


関連記事