سلام دوستان. توی این مجموعه مقالهها قصد دارم ۷۰ سوال رایجی که توی مصاحبههای جاوا اسکریپت پرسیده میشه رو با هم بررسی کنیم.
بروزرسانی تیرماه ۱۴۰۰ 🔥 نسخه ویدئویی همه سوالات منتشر شد! از اینجا ببینید 👋
نکته: برای یادگیری کامل و جزئی بعضی از این موارد نیازمند یک مقاله اختصاصی هست. برای آیتمهایی که اینجا بررسی میکنیم (هر چند خلاصه هستن)، تا حد امکان سعی میکنم کامل و واضح توضیح بدم که اگه قصد یادگیری هم داشته باشین، نیاز شما رو برطرف کنه.
۱۰ سوال امروز
تفاوت بین undefined و null چیه؟ عملگر && چکار میکنه؟ عملگر || چکار میکنه؟ سریعترین راه تبدیل یک رشته به عدد چیه؟ DOM چیه؟ Event Propagation چیه؟ Event Bubbling چیه؟ Event Capturing چیه؟ فرق متدهای event.preventDefault() و event.stopPropogation() چیه؟ چطوری میشه متوجه شد event.preventDefault() روی یک المنت اعمال شده؟
- تفاوت بین undefined و null چیه؟ قبل از اینکه درباره تفاوتهای این دو صحبت کنیم، بهتره که بدونیم این دو جزو ۸ نوع دادهای هستن که توی جاوا اسکریپت وجود دارن:
['null','undefined', 'string', 'number', 'boolean', 'object', 'symbol', 'bigint']; همچنین این دو به اصطلاح falsy value هستن. یعنی مقدارهایی که وقتی اونها رو به Boolean تبدیل میکنیم، خروجی false هست:
console.log(!!null); // false
console.log(!!undefined); // false
console.log(Boolean(null)); // false
```console.log(Boolean(undefined)); // false
و اما تفاوتها. از undefined شروع کنیم:
ویژگیهای منحصر به فرد undefined:
undefined یک مقدار پیشفرض برای متغیرهایی هست که مقدار ندارن. یعنی موقع ساختن این متغیر بهش مقدار داده نشده
undefined یک خروجی پیشفرض هست برای تابعی که return نداره
وقتی یک پراپرتی (یا key) از یک آبجکت رو صدا بزنیم که وجود نداره، خروجی undefined هست
ویژگیهای منحصر به فرد null:
در واقع null خودش یک مقدار هست. یک مقدار "پوچ" یا "خالی" که میتونیم اون رو به متغیرها نسبت بدیم:
let x = null;
console.log(x); // null console.log(typeof x); // object!
به این مقایسهها دقت کنین:
null == undefined; // true
null === undefined // false
مقایسه اول true شد چون مقایسه این دو با == همیشه true هست. مقایسه دوم برای این false شد که توی سه مساوی (===) تبدیل نوع انجام نمیگیره. نوع یک null برابر با آبجکت و نوع یک undefined همون undefined هست.