--- title: escape() slug: Web/JavaScript/Reference/Global_Objects/escape tags: - Deprecated - JavaScript - Method - メソッド - 非推奨 translation_of: Web/JavaScript/Reference/Global_Objects/escape ---
escape()
は厳密には非推奨ではありませんが (「ウェブ標準から削除された」という意味で)、ECMA-262 標準の Annex B で定義されており、その導入部には次のように書かれています。
… この付属書で規定されているすべての言語機能と動作は、1つ以上の望ましくない特性を持ち、レガシーな使用例がない場合は、この仕様から削除されます。…
… プログラマは、新しい ECMAScript コードを書くときに、これらの機能や動作の存在を使用したり、仮定したりしてはいけません。…
The escape()
関数は、特定の文字を16進数のエスケープシーケンスで置き換えた新しい文字列を計算します。
メモ: この関数は、主に URL クエリ (URL の ?
に続く部分) に使われていました。 — "\xHH
" の形式を使用して、ふつうの文字列リテラルをエスケープするためのものではありません。 (HHは2桁の16進数であり、より高い面の Unicode 文字には「\xHH\xHHxHH」という形式が使われます。)
文字列リテラル内のエスケープされた文字は、 \x
を %
に置き換えてから、 decodeURIComponent()
関数を使用することで展開することができます。
escape(str)
str
特定の文字がエスケープされた新しい文字列。
escape
関数はグローバルオブジェクトのプロパティです。特殊文字は @*_+-./
以外の文字が符号化されます。
文字の16進数形式として、文字コードの値が 0xFF
以下になる文字は 2 桁のエスケープシーケンス %xx
が、それ以上の場合は 4 桁のエスケープシーケンス %uxxxx
%uxxxx
が使われます。
escape('abc123'); // "abc123" escape('äöü'); // "%E4%F6%FC" escape('ć'); // "%u0107" // 特殊文字 escape('@*_+-./'); // "@*_+-./"
仕様書 |
---|
{{SpecName('ESDraft', '#sec-escape-string', 'escape')}} |
{{Compat("javascript.builtins.escape")}}