جاوا اسکریپت – کلمه کلیدی void

کلمه کلیدی void در جاوااسکریپت به عنوان یک عملگر استفاده می‌شود که یک عبارت داده شده را ارزیابی کرده و مقدار undefined را برمی‌گرداند. void یک کلمه کلیدی مهم در جاوااسکریپت است. معنای void خالی یا نال است.

کلمه کلیدی void می‌تواند به عنوان یک عملگر یکانی استفاده شود که قبل از عملنده یکی از عملیات‌های خود ظاهر می‌شود که ممکن است هر نوعی باشد. این عملگر یک عبارت را مشخص می‌کند که بدون برگرداندن یک مقدار یا بازگرداندن مقدار undefined باید ارزیابی شود.

سینتکس

استفاده از کلمه کلیدی void در جاوااسکریپت به صورت زیر است:

void operand;

در دستور فوق، operand می‌تواند هر عبارتی باشد.

مقدار برگشتی

این مقدار undefined را برمی‌گرداند.

مثال

در کد زیر، عدد ۱۰ را با استفاده از کلمه کلیدی ‘void’ استفاده کرده‌ایم. در خروجی، می‌توانید مشاهده کنید که این مقدار undefined را برمی‌گرداند:
<html>
<body>
   <div id = "output">مقدار متغیر ans:  </div>
   <script>
      let ans = void 10;
      document.getElementById("output").innerHTML += ans;
   </script>
</body>
</html>
خروجی:
مقدار متغیر ans: undefined

اهمیت اولویت کلمه کلیدی void

به طور کلی، کلمه کلیدی ‘void’ در جاوااسکریپت برای برگرداندن مقدار اولیه undefined استفاده می‌شود، اما اگر اولویت را در نظر نگیرید، ممکن است مقدار متفاوتی برگرداند. این را از طریق مثال زیر درک کنید. در کد زیر، عملگر void اولویت را بر روی عملگر برابری سخت در عبارت اول محدود می‌کند. بنابراین، ابتدا ‘void ۱۰’ را به undefined ارزیابی کرده و با ۲۰ مقایسه می‌کند. بنابراین، مقدار false را برمی‌گرداند. در عبارت دوم، ‘۱۰ === ۲۰’ اولویت را به false ارزیابی می‌کند و ‘void false’ را به undefined ارزیابی می‌کند:
<html>
<body>
   <div id = "output1"> </div>
   <div id = "output2"> </div>
   <script>
      let res1 = void 10 === 20;
      let res2 = void (10 === 20);
      document.getElementById("output1").innerHTML += res1;
      document.getElementById("output2").innerHTML += res2; 
   </script>
</body>
</html>
خروجی:
false
undefined

javascript:void(0) چیست؟

بیایید عبارت javascript:void(0) را به دو بخش تجزیه کرده و هر یک را به طور جداگانه درک کنیم.

javascript:

شما می‌توانید از ‘javascript:’ برای ایجاد یک URL شبیه‌سازی شده استفاده کنید. با استفاده از ‘javascript:’ می‌توانید URL تعاملی ایجاد کنید. باید عبارت را پس از ‘javascript:’ بنویسید و زمانی که کاربران بر روی متن لینک کلیک می‌کنند، کد جاوااسکریپت اجرا می‌شود. بیایید این را از طریق مثال زیر درک کنیم. در کد زیر، متن پیوند را ایجاد کرده و از URL جاوااسکریپت به عنوان href استفاده کرده‌ایم. زمانی که بر روی متن پیوند کلیک می‌کنید، آن را در سند HTML می‌نویسد:
<html>
   <body>
      <a href = "javascript:document.write('متن پیوند کلیک شد!')"> من را کلیک کن! </a>
   </body>
</html>
به این روش می‌توانید از ‘javascript:uri’ برای ایجاد URL شبیه‌سازی شده استفاده کنید.

void(0):

تابع void(0) عبارت جاوااسکریپت را ارزیابی می‌کند، اما مقدار undefined را برمی‌گرداند. بنابراین، زمانی که می‌خواهید عبارت را بدون انجام هیچ عملیاتی اجرا کنید، می‌توانید از void(0) استفاده کنید.

javascript: void(0) زمانی که نمی‌خواهید کاربران را به صفحه وب دیگری هدایت کنید زمانی که بر روی لینک کلیک می‌کنند، می‌توانید از ‘javascript:void(0)’ به عنوان مقدار href برچسب لینک استفاده کنید.

بیایید این را از طریق مثال زیر درک کنیم.

مثال

هرگاه در کد زیر روی متن لینک کلیک کنید، هیچ اقدامی انجام نمی‌شود:
<html>
   <body>
      <a href = "javascript:void(0)"> من را کلیک کن! </a>
   </body>
</html>
همچنین می‌توانید هنگامی که می‌خواهید صفحه وب را با استفاده از آدرس URI به‌روزرسانی کنید اما نمی‌خواهید به صفحه وب دیگری هدایت شوید، از ‘javascript:void(0)’ استفاده کنید.

مثال

در کد زیر، هنگام کلیک روی متن لینک، رنگ پس زمینه بدنه صفحه تغییر می‌یابد، به جای هدایت به صفحه وب دیگر.
<html>
<body>
   <a href = "javascript:void(0);" 
   	  onclick = "document.body.style.backgroundColor = 'blue'"> 
   	  تغییر رنگ پس زمینه 
   </a>
</body>
</html>

کلمه کلیدی void با توابع

هنگام استفاده از کلمه کلیدی void با توابع جاوا اسکریپت، مقدار undefined برگردانده می‌شود. پس از آن، اگر سعی کنید تابع را اجرا کنید، خطا را برمیگرداند، زیرا عملگر ‘void’ تابع را به عنوان عملنده خود در نظر می‌گیرد و آن را به عنوان undefined ارزیابی می‌کند.

مثال

در کد زیر، تابع test() را تعریف کرده و از کلمه کلیدی ‘void’ با آن استفاده کرده‌ایم. همچنین از بلوک try…catch برای گرفتن خطا استفاده کرده‌ایم. در بلوک try، تابع را اجرا می‌کنیم، و در خروجی، می‌توانید مشاهده کنید که کنترل به بلوک catch می‌رود.
<html>
<body>
<div id = "demo"> </div>
<script>
   const output = document.getElementById('demo');
   try {
      void function test() {
         output.innerHTML += "تابع تست اجرا شده است!";
      }
      test();
   } catch (error) {
      output.innerHTML += "تابع تست تعریف نشده است!";
   }
</script>
</body>
</html>
خروجی:
تابع تست تعریف نشده است!

کلمه کلیدی void با تابع به صورت فوری هنگام استفاده از کلمه کلیدی ‘void’ با تابع فوری جاوا اسکریپت، ابتدا عبارت تابع فوری را فراخوانی می‌کند و آن را به عنوان undefined ارزیابی می‌کند.

مثال

در کد زیر، تابع فوری با استفاده از کلمه کلیدی void را تعریف کرده‌ایم. می‌توانید مشاهده کنید که ابتدا تابع را فراخوانی می‌کند و سپس به عنوان undefined ارزیابی می‌کند.
<html>
<body>
   <div id = "demo"> </div>
   <script>
      const output = document.getElementById("demo");
      void function () {
         output.innerHTML = "تابع نامشخص اجرا شده است!";
      }();
   </script>
</body>
</html>
خروجی:
تابع نامشخص اجرا شده است!
همچنین می‌توانید از کلمه کلیدی ‘void’ با تابع پرچم متمرکز استفاده کنید تا مقدار undefined از تابع پرچم متمرکز برگردانده شود. URI جاوا اسکریپت: void() همچنین می‌تواند برای جلوگیری از بارگیری مجدد صفحه وب به صورت پیش‌فرض، مانند متد preventDefault() استفاده شود.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.