カテゴリ: JavaScript 更新日: 2025/11/24

JavaScriptの文字列操作でよくあるエラーと解決法まとめ!初心者でもわかる対処法

JavaScriptの文字列操作のよくあるエラーと解決法まとめ
JavaScriptの文字列操作のよくあるエラーと解決法まとめ

先生と生徒の会話形式で理解しよう

生徒

「先生、文字列操作をしているとよくエラーが出るんですが、どうしてでしょうか?」

先生

「文字列操作で起こるエラーにはいくつかパターンがあります。初心者がよくつまずく部分を整理して対処法も一緒に紹介しましょう。」

生徒

「どんなエラーが多いんですか?」

先生

「例えば、undefinednullに対して操作をしてしまった場合や、文字列のインデックス指定ミスなどがあります。」

1. undefinedやnullにアクセスしてしまう

1. undefinedやnullにアクセスしてしまう
1. undefinedやnullにアクセスしてしまう

JavaScriptでは、文字列がundefinednullの状態でlengthcharAtを使うとエラーになります。


let str;
console.log(str.length); // エラー

Uncaught TypeError: Cannot read property 'length' of undefined

対処法:文字列が定義されているか確認してから操作します。


let str = "Hello";
if (str) {
  console.log(str.length); // 5
}

5

2. インデックスの範囲外を指定する

2. インデックスの範囲外を指定する
2. インデックスの範囲外を指定する

文字列のインデックスは0から始まります。存在しない位置にアクセスするとundefinedが返ります。


const str = "JavaScript";
console.log(str[20]); // undefined

undefined

対処法:文字列の長さをlengthで確認してからアクセスします。


const str = "JavaScript";
if (str.length > 5) {
  console.log(str[5]); // c
}

c

3. splitで空文字や予期しない文字を使う

3. splitで空文字や予期しない文字を使う
3. splitで空文字や予期しない文字を使う

splitは文字列を指定した区切り文字で分割しますが、空文字や間違った文字を指定すると予期しない結果になることがあります。


const str = "Hello World";
console.log(str.split("")); // 文字ごとの配列
console.log(str.split(",")); // ["Hello World"]

["H","e","l","l","o"," ","W","o","r","l","d"]
["Hello World"]

対処法:分割したい文字を正しく指定し、空文字の場合の挙動を理解しておくことが大切です。

4. replaceで正規表現と文字列の違いを理解していない

4. replaceで正規表現と文字列の違いを理解していない
4. replaceで正規表現と文字列の違いを理解していない

replaceはデフォルトでは最初に見つかった文字列だけを置き換えます。全て置換したい場合は正規表現の/gフラグを使います。


let str = "abc abc";
console.log(str.replace("abc", "xyz")); // xyz abc
console.log(str.replace(/abc/g, "xyz")); // xyz xyz

xyz abc
xyz xyz

対処法:全置換する場合は正規表現を使い、意図しない部分だけ置換されないように注意します。

5. trimや文字列結合で型を意識していない

5. trimや文字列結合で型を意識していない
5. trimや文字列結合で型を意識していない

trimは文字列型でしか使えません。数値やnullに対して使うとエラーになります。また、文字列結合で数値と文字列を混ぜる場合は意図通りの型変換がされるか確認が必要です。


let num = 123;
console.log(num.trim()); // エラー

Uncaught TypeError: num.trim is not a function

対処法:文字列型かどうかを確認するか、String()で変換してから操作します。


let num = 123;
console.log(String(num).trim()); // "123"

123

6. 文字列操作時の総合対策

6. 文字列操作時の総合対策
6. 文字列操作時の総合対策

文字列操作のエラーを避けるには、次のポイントを押さえましょう。

  • 文字列がnullundefinedでないか確認する
  • インデックスの範囲内か確認する
  • 関数の使い方(split, replace, trimなど)を正しく理解する
  • 数値や他の型と混在する場合は型変換を意識する

これらの基本を押さえておくと、文字列操作のエラーを大幅に減らせます。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScript × ES6の連携まとめ!安全でモダンなJavaScript開発の鍵
New2
TypeScript
TypeScriptの型システムとは?静的型付けのメリットと基本
New3
JavaScript
JavaScriptの正規表現で繰り返し指定(* + ? {n,m})を学ぼう
New4
TypeScript
TypeScriptとESNextの連携を完全ガイド!最新機能を使いこなす設定と対応法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptの日時操作Tips!実務で役立つテクニック集
No.3
Java&Spring記事人気No3
TypeScript
TypeScriptでESLintとPrettierを導入!コード整形ルールを自動で統一する方法
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptのif文の使い方を完全ガイド!初心者でもわかる条件分岐
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptの正規表現で文字列を置換する方法(replaceメソッド)
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptで非同期イテレーター(for await of)を活用する