بررسی وجود کلید مورد نظر Object در Javascript

- visibility ۰ mode_comment

بررسی وجود کلید مورد نظر Object در Javascript

بررسی وجود کلید مورد نظر Object در Javascript

در این مطلب میخوام به شما آموزش بدم که چطور میتونین در Javascript بفهمید که در یک Object کلید مورد نظر وجود داره یا خیر. برای اینکار روشهایی وجود داره که در ادامه اونا رو با هم بررسی میکنیم.

شاید یکی از راه هایی که به نظرتون برسه این باشه که بیایم و ببینیم مقدار اون کلید برابر با undefined هست یا نه. درسته که وقتی یک object کلید مورد نظر رو نداره و ما به اون میخوایم دسترسی پیدا کنیم، بهمون undefined رو برگشت میده ولی این کار 100 درصد درست نیست و شاید اون کلید وجود داشته باشه ولی مقدارش رو undefined قرار داده باشیم.

پس با مساوی بودن مقدار کلید با undefined، بصورت دقیق نمیشه فهمید که کلید وجود داره یا نه. مثلا کد زیر رو ببینید:

همونطور که میبینید obj مورد نظر یک key با مقدار undefined داره. حالا اگر اون رو با undefined مقایسه کنیم فکر میکنیم که وجود نداره در صورتی که وجود داره ولی مقدار اون undefined هست. پس باید از روشهای بهتر برای انجام این کار استفاده کنیم.

استفاده از عملگر in

با استفاده از عملگر in میتونین بفهمید که یک کلید خاص در شئ مورد نظر وجود داره یا نه. این عملگر true یا false رو به ما پس میده و کاری به مقدار کلید نداره. مثلا کد زیر رو ببینید:

به همین راحتی. حالا اگر بخواید این عبارت رو منفی یا نقیض کنید باید کل اون رو در پرانتز قرار داده و قبل از اون یک ! قرار بدین. بصورت زیر:

استفاده از متد hasOwnProperty

اگر شما قصد دارید که فقط کلیدهای شئ مورد نظر رو بررسی کنید و کاری به زنجیره ی Prototype اون و چیزایی که به اون به ارث رسیده اند ندارید، میتونین از متد hasOwnProperty استفاده کنید. بصورت زیر:

برای مقایسه Performance روشهای بالا میتونین این لینک رو ببینید.

اگر شما هم روشی برای انجام اینکار به ذهنتون میرسه خوشحال میشیم که در بخش نظرات با ما در میان بذارید.

امیدوارم از این مطلب خوشتون اومده باشه.

comment دیدگاه کاربران

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.