کجاها میتونیم void رو ببینیم
من خودم اولین بار void رو توی href تگ های a بعضی سایتا دیدم که البته هیچ ریدایرکتی نداشتن و فقط یک عملیات رو انجام میدادن اما یکی از جاهای پرکاربرد دیگش توی تایپ اسکریپته اونم وقتی یه تابع مینویسیم و به cjs کامپایل میکنیم.
کاربرد void رو دیدیم اما چی هست، ما معمولا یک تابعی داریم که یک اطلاعاتی رو return میکنه اما خیلی جاها این اطلاعات رو نیاز نداریم اما اگه پاس داده بشن کار مارو خراب میکنن پس از void استفاده میکنیم.
وقتی از void استفاده میکنین شما هر عبارتی بهش بدین رو اجرا میکنه اما تهش undefined برمیگردونه و انگار هیچی نشده ولی کد ما اجرا میشه مثلا:
function foo() { console.log("it's run"); return "hello" } console.log(void foo())
الان it's run رو لاگ میگیره اما کلمه ی hello رو لاگ نمیگیره و بجاش undefined پاس میده ?
دیدیم که void رو میشه به صورت یک پیشوند پشت یه عبارت گذاشت و اجرا کرد اما میتونین اینجوری هم ازش استفاده کنین:
void("...") //or void(()=> "hello");
اول بگم چرا گفتم void 0 و بجاش چیز دیگه ای نزاشتم ?
خب چون 0 بی ارزش محسوب میشه میتونیم بگیم هم کارکتر کمتری استفاده میکنیم و هم کد خاصی اجرا نمیشه. ?
به دو دلیل void 0 نسبت به undefined برتری داره
کدی که شما با void مینویسین کارکتر های کمتری استفاده میکنه و در نتیجه ساده تر ، بهینه تر و بهتره
توی مرورگر های قدیمی تر undefined به عنوان یک متغیر یاد میشه پس قابل تغییره و همین به عنوان یک دلیل امنیتی میتونیم بگیم void 0 خیلی بهتره
خیلی خیلی ممنون که توی این مقاله همراه من بودین ❤