فرض کن اطلاعات کاربر از API اومده:
const user = {
profile: {
address: {
city: "Baku"
}
}
};حالا میخوای شهر رو بگیری:
console.log(user.profile.address.city);
فعلاً مشکلی نیست.
اما اگر address وجود نداشته باشه:
const user = {
profile: {}
};
console.log(user.profile.address.city);💥 خطا میگیری:
Cannot read properties of undefined
قبلاً شاید اینطوری حلش میکردیم:
if (
user &&
user.profile &&
user.profile.address
) {
console.log(user.profile.address.city);
}
ولی JavaScript یه راه تمیزتر داره:
console.log(user?.profile?.address?.city);
اگر هرکدوم از این Propertyها وجود نداشته باشه، بهجای Error مقدار undefined برمیگرده.
---
ترکیبش با ?? خیلی خفنه 🔥
مثلاً:
const city =
user?.profile?.address?.city ?? "Unknown";
console.log(city);
اگر شهر وجود نداشته باشه:
Unknown
یعنی:
?. → اگر وجود نداشت، خطا نده.
?? → اگر مقدار null یا undefined بود، مقدار پیشفرض بده.
این ترکیب توی پروژههایی که با API، JSON و دادههای تودرتو کار میکنی واقعاً کاربردیه.
کد کمتر، شرط کمتر، خطای کمتر. 🚀
@CodeVerse_dev