【Node.js24.x】Object::encodeURIComponent()メソッドの使い方
encodeURIComponentメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
encodeURIComponentメソッドは、URI(Uniform Resource Identifier)の特定のコンポーネント(部分)を安全にURLに含めるために、文字列をエンコード(符号化)するメソッドです。ウェブアプリケーションにおいて、URLは特定のルールに従って記述される必要があり、スペースや日本語、一部の記号(&、=、/など)がそのまま含まれていると、URLの構文が壊れたり、サーバー側で誤って解釈されたりする可能性があります。
このメソッドは、URLとして特別な意味を持つこれらの文字を、URLで安全に扱える「%」記号とそれに続く16進数で表現される形式(パーセントエンコーディング)に変換します。例えば、半角スペースは「%20」に、日本語の文字はUTF-8で符号化されたバイト列に基づき「%E3%81%82」のように変換されます。これにより、データの破損や誤解釈を防ぎます。
一方で、アルファベット(a-z, A-Z)、数字(0-9)、および一部の記号(- _ . ! ~ * ' ( ))は、URLの構造に影響を与えないため、エンコードされずに元の文字のまま保持されます。主に、ウェブフォームから送信されるユーザーの入力値や、データベースから取得した動的な文字列を、URLのクエリパラメータやパスの一部として安全に渡す際に利用されます。
encodeURIComponentメソッドを活用することで、作成したURLが意図しない動作をすることを防ぎ、異なるシステム間でもデータが正しく伝達されるようになります。これは、ウェブアプリケーションの安定性と信頼性を高める上で非常に重要な機能です。
構文(syntax)
1const encodedComponent = encodeURIComponent("URIに含まれるべきではない 文字列 & / ? = など");
引数(parameters)
uriComponent
- uriComponent: string: エンコードするURIコンポーネントを指定する文字列
戻り値(return)
string
URLのコンポーネントをパーセントエンコーディングされた文字列として返します。