javascripttypeofعملگر typeof در جاوااسکریپت
typeof نام نوع مقدار را برمیگرداند؛ تشخیص عدد و متن، استثنای null و روش درست بررسی آرایه را در جاوااسکریپت با مثال عملی و خروجی ببینید.
مفهوم به زبان ساده
typeof عملی است که نام نوع مقدار را به شکل رشته برمیگرداند. مثلاً typeof 12 نتیجهٔ "number" و typeof "12" نتیجهٔ "string" دارد. این ابزار هنگام بررسی ورودی فرم یا عیبیابی مسیر داده مفید است؛ به شما نشان میدهد چیزی که شبیه عدد دیده میشود، در واقع متن هست یا نه.
این بررسی همهٔ پرسشهای اعتبارسنجی را پاسخ نمیدهد. typeof NaN برابر number است، برای null نتیجهٔ object است و برای آرایه نیز object برمیگردد. پس برای آرایه از Array.isArray و برای null از مقایسهٔ دقیق با null استفاده کنید. برای مبلغ نیز علاوه بر نوع باید محدوده و صحیحبودن را بررسی کرد. برای تابع، typeof خروجی function میدهد.
در مثال دو قیمت با ظاهر مشابه داریم. نتیجه نشان میدهد چرا پیش از جمع باید قرارداد ورودی را بدانیم. بخش دوم ابزارهای دقیقتر برای null و آرایه را کنار typeof قرار میدهد. برای تمرین، یک شیء معمولی را جای آرایه بگذارید؛ خروجی typeof همچنان object میماند، ولی Array.isArray باید false شود. این تغییر کوچک روشن میکند چرا یک برچسب کلی برای تصمیم جزئی کافی نیست.
کجا به کار میآید؟
- عیبیابی تفاوت متن ورودی و عدد ذخیرهشده
- بررسی اولیهٔ نوع پیش از اجرای روش مخصوص یک نوع
از تعریف تا یک مثال واقعی
const typedPrice = "25000";
const storedPrice = 25000;
console.log(typeof typedPrice);
console.log(typeof storedPrice);
console.log(typeof null);
console.log(Array.isArray([storedPrice]));
console.log(typeof (() => storedPrice));
string number object true function
این مثال چطور کار میکند؟
دو قیمت محتوای مشابه ولی نوع متفاوت دارند.
null استثنای قدیمی typeof را نشان میدهد.
Array.isArray آرایه را تشخیص میدهد و typeof تابع، function است.
اشتباه رایج
typeof یک نام کاملاً تعریفنشده میتواند undefined بدهد، اما برای let یا const پیش از خط تعریف در همان محدوده، همچنان ReferenceError رخ میدهد.
این را به خاطر بسپارید
typeof ابزار تشخیص اولیه است؛ برای تصمیم دقیق، بررسی متناسب با نوع داده و قرارداد برنامه لازم دارید.