shaYan
shaYan
خواندن ۲ دقیقه·۲ سال پیش

void و تفاوتش با undefined

رخکاربرد void در جاوااسکریپت
رخکاربرد void در جاوااسکریپت

کجاها میتونیم void رو ببینیم

من خودم اولین بار void رو توی href تگ های a بعضی سایتا دیدم که البته هیچ ریدایرکتی نداشتن و فقط یک عملیات رو انجام میدادن اما یکی از جاهای پرکاربرد دیگش توی تایپ اسکریپته اونم وقتی یه تابع مینویسیم و به cjs کامپایل میکنیم.

اما void چی هست

کاربرد void رو دیدیم اما چی هست، ما معمولا یک تابعی داریم که یک اطلاعاتی رو return میکنه اما خیلی جاها این اطلاعات رو نیاز نداریم اما اگه پاس داده بشن کار مارو خراب میکنن پس از void استفاده میکنیم.

وقتی از void استفاده میکنین شما هر عبارتی بهش بدین رو اجرا میکنه اما تهش undefined برمیگردونه و انگار هیچی نشده ولی کد ما اجرا میشه مثلا:

function foo() { console.log(&quotit's run&quot); return &quothello&quot } console.log(void foo())

الان it's run رو لاگ میگیره اما کلمه ی hello رو لاگ نمیگیره و بجاش undefined پاس میده ?

ولی سینکسش چجوریه؟

دیدیم که void رو میشه به صورت یک پیشوند پشت یه عبارت گذاشت و اجرا کرد اما میتونین اینجوری هم ازش استفاده کنین:

void(&quot...&quot) //or void(()=> &quothello&quot);

خب تفاوت void 0 و undefined در چی هست ؟! ?

اول بگم چرا گفتم void 0 و بجاش چیز دیگه ای نزاشتم ?

خب چون 0 بی ارزش محسوب میشه میتونیم بگیم هم کارکتر کمتری استفاده میکنیم و هم کد خاصی اجرا نمیشه. ?


به دو دلیل void 0 نسبت به undefined برتری داره

اولی:

کدی که شما با void مینویسین کارکتر های کمتری استفاده میکنه و در نتیجه ساده تر ، بهینه تر و بهتره

دومی:

توی مرورگر های قدیمی تر undefined به عنوان یک متغیر یاد میشه پس قابل تغییره و همین به عنوان یک دلیل امنیتی میتونیم بگیم void 0 خیلی بهتره



خیلی خیلی ممنون که توی این مقاله همراه من بودین ❤

voidجاوااسکریپتweb developmentبرنامه نویسی
یه برنامه نویسِ 13 ساله که سال هاست هر روزشو با کامپیوتر میگذرونه
شاید از این پست‌ها خوشتان بیاید