JS метод Global.escape()


Загальний опис

escape() - це метод JavaScript, який призначений для перетворення певних символів у рядку на їхні закодовані у вигляді URI еквіваленти. Цей метод був досить популярним в ранніх версіях JavaScript, але зараз він є застарілим і не рекомендується для використання в сучасних застосуваннях.

Спочатку розглянемо, навіщо потрібен escape(). В основному, його використовували для того, щоб перетворити символи у рядку, які могли б порушити структуру URL. Наприклад, пробіл, знак "&" або "?". Якщо такі символи вставити безпосередньо у URL, це може призвести до проблем.

Приклад:

let url = "http://example.com?name=" + escape("John Doe");

У цьому прикладі, якщо не використовувати escape(), пробіл між "John" та "Doe" міг б порушити структуру URL.

Однак, існують і інші методи, такі як encodeURIComponent() і encodeURI(), які виконують подібні завдання, але з деякими важливими відмінностями. escape() не кодує символи такі як "@", "*", "-" і "_", тоді як encodeURIComponent() це робить.

Основні особливості та прийоми роботи з escape():

  1. escape() кодує символи, які не є латинськими літерами, цифрами, а також деякими спеціальними символами, такими як "@", "*", "-" і "_".
  2. Кодування відбувається шляхом заміни символу на "%", за яким слідує два шістнадцяткових символи.

Приклад:

let text = "Hello, World!";
let encodedText = escape(text);
console.log(encodedText); // Hello%2C%20World%21

Для програмістів-початківців важливо розуміти, що, хоча escape() і корисний у певних ситуаціях, його застосування у сучасному програмуванні обмежене. Існують кращі та безпечніші методи для кодування URI, такі як encodeURIComponent() і encodeURI().

автор: Bond

Порада

Якщо ви працюєте над старим проектом або вивчаєте старий код, ви можете зустріти використання escape(). В такому випадку рекомендується замінити його на сучасніший метод кодування для забезпечення найкращої сумісності та безпеки.

автор: Bond
Нотатка

Важливо знати, які символи кодуються escape() та іншими сучасними методами. Особливо, якщо ви намагаєтеся декодувати або аналізувати закодовані рядки. Наприклад, символ "@" не буде закодований методом escape(), але буде закодований за допомогою encodeURIComponent().

автор: Bond
Нотатка

Якщо з якоїсь причини вам потрібно працювати з рядками, які були закодовані за допомогою escape(), використовуйте unescape() для правильного декодування цих рядків. Проте пам'ятайте, що для рядків, закодованих за допомогою encodeURIComponent() або encodeURI(), потрібно використовувати decodeURIComponent() та decodeURI() відповідно.

автор: Bond

Синтаксис

escape(str)

Параметри

str

Рядок, який потрібно закодувати.

автор: Bond

Повернення

string

Повертає новий рядок, в якому певні символи були замінені на їхні закодовані еквіваленти.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 3 12 3
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

Цей приклад демонструє, як користувач може ввести рядок у текстове поле та отримати його закодовану версію за допомогою функції escape(). Після введення рядка користувач може натиснути кнопку "Кодувати", і закодована версія рядка відобразиться нижче.

автор: Bond

У цьому прикладі ми маємо рядок specialString із спеціальними символами (кома, пробіл та знак питання). Використовуючи метод escape(), ми кодуємо ці спеціальні символи у відсотковий формат. Результатом є рядок "Привіт%2C%20як%20ти%3F", де "%2C" відповідає комі, "%20" - пробілу, та "%3F" - знаку питання.

// Ініціалізація рядка зі спеціальними символами
let specialString = "Привіт, як ти?";

// Використання escape() для кодування рядка
let escapedString = escape(specialString);

console.log(escapedString);  // Виведе: "Привіт%2C%20як%20ти%3F"
автор: Bond

У цьому прикладі рядок nonASCIIString містить не-ASCII символи (китайські ієрогліфи для слова "Токіо"). Коли ми використовуємо метод escape() для таких символів, він кодує їх у форматі "%uXXXX", де "XXXX" - це шіснадцяткове представлення символа. У нашому випадку, результатом буде рядок "%u674E%u4EAC", який відповідає ієрогліфам "東" та "京" відповідно.

// Ініціалізація рядка із не-ASCII символами
let nonASCIIString = "Місто: 東京";

// Використання escape() для кодування рядка
let escapedNonASCII = escape(nonASCIIString);

console.log(escapedNonASCII);  // Виведе: "%u674E%u4EAC"
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід