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開発者の技術面接、テキスト変換ツール、フォームバリデーター、教育用コーディングプラットフォームの構築などの実用的なタスクに登場します。