بررسی نوع داده‌ در جاوا اسکریپت

بررسی نوع داده‌ در جاوا اسکریپت

یکی از اصول اولیه امنیت، بررسی صحت داده‌ها می‌باشد و اولین گام بررسی صحت داده، بررسی نوع داده می‌باشد. مثلا اگر قصد دارید یک شماره تلفن از کاربر دریافت کنید مطمئنا ورودی باید یک عدد باشد و یا نام کاربر باید یک رشته باشد. برای بررسی نوع داده‌ها در جاوا اسکریپت می‌توانید از راه‌ها و توابع معرفی شده در زیر استفاده کنید:

1. رشته

// Returns if a value is a string
function isString (value) {
	return typeof value === 'string' || value instanceof String;
}

2. عدد

// Returns if a value is really a number
function isNumber (value) {
	return typeof value === 'number' && isFinite(value);
}

3. آرایه

// Returns if a value is an array
function isArray (value) {
	return value && typeof value === 'object' && value.constructor === Array;
}

// ES5 actually has a method for this (ie9+)
Array.isArray(value);

4. تابع

// Returns if a value is a function
function isFunction (value) {
	return typeof value === 'function';
}

5. شی

// Returns if a value is an object
function isObject (value) {
	return value && typeof value === 'object' && value.constructor === Object;
}

6. Null & undefined

// Returns if a value is null
function isNull (value) {
	return value === null;
}

// Returns if a value is undefined
function isUndefined (value) {
	return typeof value === 'undefined';
}

7. Boolean

// Returns if a value is a boolean
function isBoolean (value) {
	return typeof value === 'boolean';
}

8. عبارت منظم

// Returns if a value is a regexp
function isRegExp (value) {
	return value && typeof value === 'object' && value.constructor === RegExp;
}

9. خطا

// Returns if value is an error object
function isError (value) {
	return value instanceof Error && typeof value.message !== 'undefined';
}

10. تاریخ

// Returns if value is a date object
function isDate (value) {
	return value instanceof Date;
}

11. Symbol

// Returns if a Symbol
function isSymbol (value) {
	return typeof value === 'symbol';
}

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *