آموزش جاوا اسکریپت Java Script قسمت سوم

--- 1395/4/17 2013

آموزش جاوا اسکریپت Java Script قسمت سوم

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

متغیرهای جاوا اسکریپت می توانند انواع داده مختلفی را در خود نگهداری کنند از قبیل:

String, Number, Boolean, Array, Object, Date, null, undefined

var length = 16;                                                              // Number
var lastName = "Johnson";                                           // String
var flag = true;                                                                // Boolean
var cars = ["Saab", "Volvo", "BMW"];                        // Array
var x = {firstName:"John", lastName:"Doe"};           // Object
var now = Date();                                                           // Date
var nullVar = null;                                                          // Null
var y;                                                                                // Undefined

نوع داده برای متغیر در جاوا اسکریپتداینامیک است، یعنی اینکه شما می توانید در طول یک تکه کد، به یک متغیر انواع مختلف داده را نسبت دهید.

var x;
x = 16; 
x = "Johnson";  
x = true;

به همین دلیل، برای مقایسه مساوی بودن یا نامساوی بودن دو متغیر در جاوا اسکریپت، دو نوع عملگر منطقی و مقایسه ای داریم.

==  /   != : دو متغیر را از نظر مقدار با هم مقایسه می کند.

===  /  !== : دو متغیر را هم از نظر مقدار و هم از نظر نوع داده با هم مقایسه می کند.

12== 12                //true
12== "12"//true
12=== "12"//false
12=== 12//true

نوع داده Number:

در جاوا اسکریپت همه انواع داده های عددی تحت عنوان نوع داده number شناخته می شوند. جاوا اسکریپت همیشه برای تمامی اعداد 64 بیت تخصیص می دهد، چه اعداد کوچک و چه بزرگ. دقت جاوا اسکریپت چه در اعداد صحیح و چه اعشاری پایین می باشد. برای نمونه کدهای زیر را می توانید تست کنید.

var x = 999999999999999;  // x will be 999999999999999
var y = 9999999999999999;  // y will be 10000000000000000

var x = 0.2 + 0.1;         // x will be 0.30000000000000004	

مقدار Infinity را نیز در نوع اعداد داریم که به معنای بی نهایت است و زمانی به این مقدار خواهیم رسید که عدد ما از بزرگترین و کوپکترین حد تعریف شده در جاوا اسکریپت بیشتر شود. در تقسیم بر صفر نیز مقدار Infinity برگردانده خواهد شد.
 

var x =  2 / 0;          // x will be Infinity
var y = -2 / 0;         // y will be –Infinity

مقدارNaN(مخفف Not-A-Number) یککلمهرزروشدهدرجاوااسکریپتمیباشدوعمومازمانیکهیکعملیاتریاضیبرروییکمتغیرغیرعددیانجاممیشود،خروجیبرابرNaNخواهدبود.

var x =  2 / "apple";// x will be NaN

NaN=== NaN;                            // false
Number.NaN=== NaN;            // false
isNaN(NaN);                               // true
isNaN(Number.NaN);               // true

function valueIsNaN(v) { return v !== v; }
valueIsNaN(1);                           // false
valueIsNaN(NaN);                     // true
valueIsNaN(Number.NaN);     // true

نوعNaNاز نوع Number می باشد و برای مقایسه یک متغیر باNaNنمی توان از عملگرهای مقایسه ای ==، === و ... استفاده کرد و می بایست از تابعisNaN()استفاده شود.نمونه معادل این تابع در مثال ذکر شده با عنوان valueIsNaN آورده شده است.

نوعObject:

متغیر از نوع Object از یک سری property تشکیل شده است:

var x = {firstName:"John", lastName:"Doe"};

نحوه دسترسی به هر ویژگی یا property در یک شئ به صورت زیر می باشد:

varfirstName = x.firstName;
//or
varfirstName = x["firstName"];

برای تعریف متغیرها می توان با ایجاد یک شئ از کلاس آنها نیز عمل تعریف متغیر را انجام داد، مثلا برای تعریف یک آرایه می توان با ایجاد یک شئ از کلاس Array این عمل را انجام داد اما پیشنهاد می شود که از این روش برای ایجاد یک متغیر استفاده نشود، به این دلیل که هم کدتان پیچیده میشود و هم زمان پردازش آن را با استفاده از این روش بیشتر خواهید نمود.

var arr = new Array();
var str = new String();

به جای استفاده از روش بالا میتوان این متغیر ها را به صورت زیر تعریف کرد:

vararr = [];
varstr = "";	

با استفاده از دستورtypeofمی توانید به نوع داده یک متغیر دسترسی پیدا کنید به شکل زیر:

typeof"2.2";     //returns string

Undefined: نوع داده undefined زمانی اتفاق می افتد که یک متغیر را تعریف کرده و آن را مقداردهی نکرده باشیم.

var  x;   //returns   undefined

مقدار null مقداری تهی است که از نوع Object می باشد و می توان گفت معادل undefined است با این تفاوت که نوع داده آنها متفاوت است.

undefined == null    //returns true
undefined === null      //returns false	

آرایه Array: در متغیرهای آرایه ای میتوان مقادیر مختلفی قرار داد و لزومی بر این وجود ندارد که نوع همه عناصر موجود در آرایه یکسان باشد. به صورتی که عناصر موجود در این شئ ممکن است از نوع رشته، عدد، شئ، آرایه، تابع و ... باشد.

var arr = ["Ali", 12, true, myFunction, [1, 2]];

قسمت بعدی قسمت قبلی