از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
تابع unescape() جاوا اسکریپت
در دنیای گسترده و پویا جاوا اسکریپت، توابع داخلی مختلف به دستکاری، پردازش و برخورد با داده ها کمک می کنند. یکی از این توابع، اگرچه کمی کمتر رایج است، اما هنوز مفید است، این است unescape()
تابع. این تابع یک راه آسان برای رمزگشایی اجزای URI رمزگذاری شده در کد جاوا اسکریپت شما فراهم می کند. اما قبل از اینکه ابتدا به روش استفاده از آن بپردازیم، بیایید با درک اینکه دقیقا چه کاری انجام می دهد شروع کنیم.
توجه داشته باشید: را unescape()
تابع در جاوا اسکریپت برای رمزگشایی رشته ای استفاده می شود که توسط تابع ()escape کدگذاری شده است. را escape()
تابع کاراکترهای خاص را رمزگذاری می کند و رشته جدیدی را برمی گرداند که در آن این کاراکترها با دنباله های فرار منحصر به فرد جایگزین می شوند. با این حال ذکر این نکته مهم است این دو تابع در استاندارد جاوا اسکریپت فعلی (ECMAScript) منسوخ شده اند..
با این حال، آنها هنوز به طور گسترده در بسیاری از مرورگرها برای سازگاری با عقب پشتیبانی می شوند.
در اینجا یک مثال استفاده اساسی از آن آورده شده است unescape()
تابع:
let escapedString = escape('Hello, World!');
console.log(escapedString); // 'Hello%2C%20World%21'
let unescapedString = unescape(escapedString);
console.log(unescapedString); // 'Hello, World!'
در مثال بالا، رشته “Hello, World!” با استفاده از کدگذاری می شود escape()
تابع. فاصله و علامت تعجب می شود %20
و %21
به ترتیب در رشته رمزگذاری شده. سپس می توانیم از آن استفاده کنیم unescape()
تابع برای رمزگشایی این رشته کدگذاری شده به شکل اصلی خود است.
حال، بیایید سناریویی را تصور کنیم که ممکن است بخواهید از آن استفاده کنید unescape()
تابع. فرض کنید در حال کار هستید روی یک پروژه وب، و شما یک رشته URL دارید که قبلاً با استفاده از آن فرار کرده است escape()
. اکنون، شما می خواهید URL را به شکلی قابل خواندن برای انسان نمایش دهید روی صفحه وب شما در اینجا روش استفاده شما آمده است unescape()
:
let escapedUrl = escape('https://example.com/?q=Hello, World!');
console.log(escapedUrl); // 'https%3A//example.com/%3Fq%3DHello%2C%20World%21'
let unescapedUrl = unescape(escapedUrl);
console.log(unescapedUrl); // 'https://example.com/?q=Hello, World!'
دوباره، unescape()
تابع URL کدگذاری شده را به شکل اصلی خود برمی گرداند.
در حالی که unescape()
مفید و آسان برای استفاده است، باید بدانید که رویکرد مدرن استفاده است decodeURI()
یا decodeURIComponent()
. این توابع پشتیبانی جامع تری را برای رمزگذاری UTF-8 ارائه می کنند، که برای پشتیبانی از نام های دامنه بین المللی و URL ها مهم است.
اگر در حال نوشتن کد جاوا اسکریپت جدید هستید، به طور کلی باید ترجیح دهید decodeURI()
یا decodeURIComponent()
بر فراز unescape()
!
نتیجه
را unescape()
تابع یک ابزار ارزشمند در زرادخانه جاوا اسکریپت است، به ویژه هنگامی که با کدهای قدیمی یا سیستم هایی که هنوز از آنها استفاده می کنند سروکار داریم. escape()
برای رمزگذاری در حالی که به دلیل عدم پشتیبانی کامل از رمزگذاری UTF-8، روش مدرن رمزگشایی مؤلفههای URI نیست، استفاده ساده و پشتیبانی گسترده مرورگر آن میتواند زمانی که سازگاری به عقب در اولویت است، انتخاب خوبی باشد.
منتشر شده در 1403-01-03 20:34:03