定義と使い方
trim() 関数は、与えられた文字列の両端から空白を除去した新しい文字列を返します。
特徴
- 空白文字(Space、Tab、
など)と改行文字(LF、CR など)を空白としてみなします - 与えられた文字列の両端から空白を除去し、元の文字列を修正することなく、コピーされた新しい文字列を返します。
- 文字列中間の空白は維持されます。
- もし、文字列の片側、あるいは両端に空白がない場合でも、新しい文字列として返されます。
- 値を返却するだけなので、元の文字列は変わりません。
- 空白 (Whitespace)
- 文字が並ぶ際、他の文字の間にスペースを提供する文字を「空白文字」といいます。
空白文字には、キーボードのスペース(Space)キーを押すと入力される空白や、キーボードのタブ(Tab)キーを押すと入力されるタブを意味します。は、改行が起きない空白文字(Non-breaking Space)を意味するHTMLの特殊文字(Entities)です。
「改行文字」は、エンター(Enter)キーを押したときに改行する文字を意味します。LF(Line Feed)やCR(Carriage Return)などは、改行文字を扱う方式を指します。
基本例
const originalString = " ようこそ。お会いできて嬉しいです! ";
const trimString = originalString.trim();
/* 文字列中間の空白は維持されます。
値を返却するだけなので、元の文字列は変わりません。 */
console.log(trimString); // 出力: "ようこそ。お会いできて嬉しいです!"
/* 👇 元の文字列は変わりません。 */
console.log(originalString); // 出力: " ようこそ。お会いできて嬉しいです! "
構文
str.trim()
strはtrim()関数を適用する元の文字列です。
パラメーター
ありません。
戻り値
元の文字列の両端から空白を除去した文字列に変換して返します。この過程で元の文字列は変更されません。
注意点
trim() 関数は文字列(String)でのみ使用できるメソッドです。もし文字列ではない他のデータタイプに対してこのメソッドを呼び出すと、TypeError が発生します。このような呼び出しは有効な操作ではありません。
const number = 17;
try {
let result = number.trim(); // この部分で TypeError が発生
console.log(result);
} catch (error) {
console.error(error); // TypeError: number.trim is not a function
}
上記のコードで trim() は数値データタイプに使用されているため、TypeError が発生します。これを防ぐためには、trim() を呼び出す前にデータタイプを確認したり、文字列に変換したりするなどの処理を行う必要があります。
文字列の前後の空白を除去する方法をさらに詳しく見る
trim() 関数は、文字列の両端から空白を除去した新しい文字列を返す用途で非常に広範囲に使用されます。
この他にも、文字列の replace() 関数と正規表現を活用する方法を見ていきましょう。
replace() 関数と正規表現活用
補足説明replace() 関数は、文字列の特定の部分を検索し、別の文字列に置換(replace)する関数です。特定の文字列や正規表現パターンを使用して元の文字列内から対象を検索し、検索された部分は指定した文字列に置換されて返されます。
ここでは、正規表現パターンを使用して文字列の両端から空白を除去する方法を見ていきましょう。
const str = " Hello, World! ";
const trimmedStr = str.replace(/^\s+|\s+$/g, "");
console.log(trimmedStr); // 出力: "Hello, World!"
一般的に、単純な空白の除去が目的であれば trim() 関数を使用することが推奨されます。直感的でパフォーマンスが良いためです。しかし、特殊な状況でより精巧なパターンが必要な場合は、正規表現を使用することも有効な選択肢となります。
互換性
| メソッド |
デスクトップ Chrome
|
デスクトップデスクトップ Edge
|
デスクトップ Firefox
|
Safari
|
Node.js
|
|---|---|---|---|---|---|
trim()
|
4 | 12 | 10.5 | 5 | 0.10 |
仕様書
| 仕様書 | |
|---|---|
trim()
|
ECMAScript® 2026 Language Specification #sec-string.prototype.trim |