JavaScriptでテキストを反転

JavaScriptで文字列を反転する複数の方法を学びます。クラシックなsplit-reverse-joinからスプレッド演算子やreduceまで。最新のテクニックでUnicodeを正しく処理します。

Programming

詳細な説明

JavaScriptでの文字列反転

JavaScriptは文字列反転のための複数のアプローチを提供し、それぞれ可読性、パフォーマンス、Unicode正確性のトレードオフが異なります。

方法1: Split-Reverse-Join(クラシック)

const reversed = str.split("").reverse().join("");

警告: split("")はUnicodeコードポイントではなくUTF-16コード単位で分割するため、絵文字やサロゲートペアで壊れます。

方法2: スプレッド演算子(Unicode安全)

const reversed = [...str].reverse().join("");

スプレッド演算子はUnicodeコードポイントを反復処理し、絵文字やマルチバイト文字を正しく処理します:

[..."Hello 👋"].reverse().join("");
// "👋 olleH" — 正しい!

方法3: forループ(Unicode安全版)

function reverse(str) {
  let result = "";
  for (const char of str) {
    result = char + result;
  }
  return result;
}

方法4: Reduce

const reversed = [...str].reduce((acc, char) => char + acc, "");

パフォーマンス比較

一般的な文字列(10,000文字未満)では、すべてのメソッドが同様に動作します。非常に大きな文字列では、事前割り当て配列を使用したforループが最速です。スプレッド+reverse+joinメソッドは正確性と可読性の最良のバランスを提供します。

ユースケース

JavaScriptの文字列反転はフロントエンドのコーディングチャレンジ、Web開発者の技術面接、テキスト変換ツール、フォームバリデーター、教育用コーディングプラットフォームの構築などの実用的なタスクに登場します。

試してみる — Reverse Text

フルツールを開く