JavaScript typeof
عملگر typeof
در جاوا اسکریپت ۵ نوع داده که میتواند دارای مقدار باشند:
- string
- number
- boolean
- object
- function
۶ نوع شیء:
- Object
- Date
- Array
- String
- Number
- Boolean
و دو نوع داده که نمیتوانند دارای مقدار باشند وجود دارد:
- null
- undefined
با استفاده از عملگر typeof
میتوانید نوع داده یک متغیر را در جاو اسکریپت پیدا کنید.
typeof "John" // Returns "string"
typeof 3.14 // Returns "number"
typeof NaN // Returns "number"
typeof false // Returns "boolean"
typeof [1,2,3,4] // Returns "object"
typeof {name:'John', age:34} // Returns "object"
typeof new Date() // Returns "object"
typeof function () {} // Returns "function"
typeof myCar // Returns "undefined" *
typeof null // Returns "object"
نمیتوانید از typeof
جهت بررسی آرایه (یا تاریخ) بودن نوع شیء استفاده کنید.
خصوصیت constructor
خصوصیت constructor تابع سازنده را برای همه متغیرهای جاوا اسکریپت برمیگرداند.
"John".constructor // Returns function String() {[native code]}
(3.14).constructor // Returns function Number() {[native code]}
false.constructor // Returns function Boolean() {[native code]}
[1,2,3,4].constructor // Returns function Array() {[native code]}
{name:'John',age:34}.constructor // Returns function Object() {[native code]}
new Date().constructor // Returns function Date() {[native code]}
function () {}.constructor // Returns function Function(){[native code]}
با استفاده از این خصوصیت میتوانید تابعی بسازید که نوع آرایه بودن شیء را بررسی کند.
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
یا به شکل خیلی سادهتر:
function isArray(myArray) {
return myArray.constructor === Array;
}
برای بررسی تاریخ بودن شیء هم به همین نحو میتوانید عمل کنید.