このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

unescape()

非推奨;: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

メモ: unescape() は、ブラウザーによって実装されている標準外の関数であり、エンジン間の互換性のためにのみ標準化されています。すべての JavaScript エンジンで実装されているとは限らず、すべての環境で動作するとは限りません。可能であれば、decodeURIComponent() または decodeURI() を使用してください。

unescape() 関数は、16 進エスケープシーケンスをそれらが表す文字に置き換えた新しい文字列を計算します。エスケープシーケンスは、 escape() のような関数によって導入される場合があります。

構文

js
unescape(str)

引数

str

デコードされる文字列。

返値

特定の文字のエスケープが解除された新しい文字列です。

解説

unescape 関数はグローバルオブジェクトのプロパティです。

unescape() 関数は、エスケープシーケンスを、それが表す文字に置き換えます。具体的には、%XX または %uXXXX (ここで X は 1 桁の 16 進数) という形のエスケープシーケンスを、16 進値 XX/XXXX を持つ文字に置き換えます。エスケープシーケンスが有効なエスケープシーケンスでない場合(例えば、% の後に 1 桁または 0 桁の 16 進数字が続く場合)、そのまま残されます。

メモ: この関数は主にパーセントエンコードに使用され、 RFC 1738 のエスケープ形式を部分的に基にしています。エスケープ形式は、文字列リテラルにおけるエスケープシーケンスではありません。 \xXX%XX\uXXXX%uXXXX に置き換えることで、 unescape() で処理できる文字列を取得することができます。

unescape の使用

js
unescape("abc123"); // "abc123"
unescape("%E4%F6%FC"); // "äöü"
unescape("%u0107"); // "ć"

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-unescape-string

ブラウザーの互換性

関連情報