بررسی وجود کلید مورد نظر 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 روشهای بالا میتونین این لینک رو ببینید.

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

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

متخصص جاوا اسکریپت
با جاوا اسکریپت جادوگری کنید! آیا می دونید با زبان جاوااسکریپت می تونید، برای فرانت اند و بک اند وبسایت ها برنامه نویسی کنید؟ همینطور اپلیکیشن دسکتاپ و موبایل بسازید؟ اگر دوست داری اینکارها رو انجام بدی و React, ElectronJS, ReactNative, NodeJS,MongoDB و ... رو تو یه دوره یاد بگیری، متخصص جاوااسکریپت سون لرن رو حتما ببین : متخصص جاوا اسکریپت arrow_back
7Learn Experts
comment دیدگاه کاربران

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :