JavaScript 逆引き集 | 文字列のトリム

JavaScript JavaScript
スポンサーリンク
スポンサーリンク

trim は「前後のいらない空白をそぎ落とすハサミ」

s.trim() は、文字列の「先頭」と「末尾」にある空白を取り除くメソッドです。 ここでいう空白は、半角スペースだけでなく、タブや改行なども含みます。 天才プログラマー視点で言うと、「ユーザー入力をキレイに整えるための基本中の基本」trim です。

基本イメージ:前後の空白だけを消す

まずは動きのイメージから。

const s = "  hello  ";
const t = s.trim();

console.log(t); // "hello"
JavaScript

ここで重要なのは、消えるのは「前後の空白だけ」で、真ん中の空白はそのまま残るという点です。

const s = "  hello world  ";
const t = s.trim();

console.log(t); // "hello world"
JavaScript

"hello world" の間のスペースは残っています。 「余計な空白をそぎ落として、意味のある文字だけを残す」 それが trim の役割です。

どんな「空白」が対象になるのかを深掘りする

trim が消してくれるのは、単なる半角スペースだけではありません。

例えば、次のようなものも対象です。

const s = "\n\t  hello  \t\n";
const t = s.trim();

console.log(t); // "hello"
JavaScript

ここには、改行 \n やタブ \t が含まれていますが、 trim() を呼ぶと、先頭と末尾の「空白っぽいもの」がまとめて削られます。

これが地味に重要で、 「ユーザーが入力フォームで Enter を押してしまった」 「コピー&ペーストで変な改行が入った」 といったケースでも、trim 一発で整えられることが多いです。

真ん中の空白は消えないことが大事なポイント

trim は、「前後」だけを整えるメソッドです。 文字列の途中にある空白は、そのまま残ります。

const s = "  Aki Mika  ";
const t = s.trim();

console.log(t); // "Aki Mika"
JavaScript

もし「途中の空白も全部消したい」なら、replace や正規表現など別の手段が必要になります。 trim はあくまで、「前後の余計な空白を落とすための道具」だと理解しておくと混乱しません。

例題:フォーム入力をきれいにしてから使う

よくある実務イメージとして、「ユーザーが入力した値をそのまま使うと危ない」という話があります。

const raw = "  aki@example.com  ";
const email = raw.trim();

console.log(email); // "aki@example.com"
JavaScript

もし trim せずにそのまま保存すると、 " aki@example.com " のように、前後に空白が付いたままの文字列になります。

それが原因で、 「同じメールアドレスなのに一致判定で落ちる」 「見た目は同じなのにバリデーションで弾かれる」 といったバグが起きがちです。

入力値はまず trim してから扱うというのは、 プロの現場ではほぼ常識に近い習慣です。

空文字や空白だけの文字列の挙動

trim の結果がどうなるかを、もう少し細かく見てみます。

空文字の場合。

console.log("".trim()); // ""
JavaScript

何もないので、そのままです。

空白だけの場合。

console.log("   ".trim()); // ""
JavaScript

前後の空白がすべて削られるので、結果は空文字になります。 これを利用して、「入力が実質的に空かどうか」を判定することができます。

const name = "   ";

if (name.trim() === "") {
  console.log("名前が未入力扱い");
}
JavaScript

こういう書き方は、バリデーションの定番パターンです。

まとめ:trim は「文字列を信頼できる状態に整えるための最初の一手」

s.trim() を使いこなせると、 文字列を扱うときの「変な空白によるバグ」をかなり減らせます。

前後の空白・タブ・改行をまとめて削る。 真ん中の空白は残すので、意味のあるスペースは壊さない。 入力値のチェックや保存前の整形に必ず挟むと安心。

「この文字列、本当にこのまま信じていいのか?」と感じた瞬間に、 まず trim を一度通す癖をつけること。

それが、文字列処理を安定させるうえでの、かなり大事な一歩になります。

タイトルとURLをコピーしました