拡張機能研究所

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

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
えっマジ!?これ超使えるじゃん😳

コメント

Ataror of Kimberly

キンバリー

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

Ataror of Brian

ミア

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

Ataror of Luis

リリー

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

Ataror of Christian

クリス

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

Ataror of Robert

ロバート

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

Ataror of Kimberly

キンバリー

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

Ataror of Brooklynn

ハンナ

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

Ataror of Leo

レオ

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

Ataror of Kingston

グレース

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

Ataror of Brian

ミア

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

Ataror of Christian

クリス

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

Ataror of Nolan

ノーラン

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

Ataror of George

ジョージ

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

Ataror of Aidan

エイダン

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

Ataror of Liliana

チャーリー

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

Ataror of Brooklynn

ハンナ

これは煽り?

Ataror of Valentina

ベン

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


PICKUP
関連記事