متغیرهای جاوا اسکریپت می توانند انواع داده ها را در خود نگه داری کنند. انواع داده ها عبارتند از: اعداد، رشته ها، اشیاء و...
مفهوم انواع دیتا
در برنامه نویسی، گوناگونی دیتا یک مفهوم مهم می باشد. برای اینکه قادر باشیم روی متغیرها عملیات انجام بدهیم، ضروری است تا درمورد آنها اطلاعات بیشتری داشته باشیم. بدون انواع دیتاها، یک کامپیوتر نمی تواند به راحتی مورد زیر را حل کند:
آیا این عقلانی است که به عدد 16 ، رشته "Volvo" را اضافه کنیم؟ این باعث ایجاد یک ارور می شود یا به پاسخی صحیح خواهد رسید؟ جاوا اسکریپت با مثال بالا اینگونه برخورد می کند:
جاوا اسکریپت عبارات را از چپ به راست ارزیابی می کند. ترتیب های اشتباه می تواند باعث نتیجه های متفاوت شود.
در مثال اول، جاوا اسکریپت 16 و 4 را بعنوان عدد در نظر می گیرد و آنها را با هم جمع می کند، تا زمانی که به "Volvo" برسد، سپس 20 را به Volvo می چسباند و یک رشته درون متغیر x قرار می دهد.
در مثال دوم، از ان جا که عملوند اول یک رشته است، تمام عملوندها بعنوان رشته در نظر گرفته می شوند. یعنی اعداد 16 و 4 با هم جمع نمی شوند، بلکه مانند رشته به هم می چسبند و 164 را تشکیل می دهند.
مدل ها در جاوا اسکریپت داینامیک هستند
زبان برنامه نویسی جاوا اسکریپت دارای مدل هایی داینامیک است. این یعنی یک متغیر می تواند برای نگه داری انواع گوناگون دیتا استفاده شود.
رشته های جاوا اسکریپت
در جاوا اسکریپت، رشته یک سری کاراکتر مانند "John Doe" می باشد. رشته ها با استفاده از کوتیشن ها نوشته می شوند. می توانید از کوتیشن تکی یا دوتایی استفاده کنید مانند مثال زیر:
شما می توانید از کوتیشن ها داخل یک رشته استفاده کنید، تا جایی که به کوتیشن های دور رشته متصل نشوند.
اعداد جاوا اسکریپتزبان برنامه نویسی جاوا اسکریپت فقط یک نوع از اعداد را درون خود دارد. اعداد می توانند با یا بدون نقطه ی اعشار نوشته شوند. به مثال زیر توجه کنید:
در جاوا اسکریپت، اعداد فقط با نوع داده Number شناخته می شوند و مانند دیگر زبان های برنامه نویسی انواع دیتای int و long و ... وجود ندارد. اعداد خیلی بزرگ یا اعداد خیلی کوچک می توانند بصورت اعشاری نیز نوشته شوند.
متغیرهای بولی جاوا اسکریپت
بولی ها می توانند فقط دو مقدار داشته باشند: true یا false. متغیرهای بولی معمولا برای تست شرطی استفاده می شوند. در ادامه راجع به این شرایط بیشتر صحبت خواهیم کرد.
آرایه های جاوا اسکریپت
آرایه های جاوا اسکریپت با استفاده از کروشه نوشته می شوند. آیتم های داخل کروشه با کاما از هم جدا می شوند. کد زیر یک آرایه به نام cars، که شامل سه آیتم (نام خودرو) است را اعلان می کند (ایجاد می کند):
اشیا در جاوا اسکریپت
اشیا در جاوا اسکریپت داخل آکولاد نوشته می شوند. نحوه مقداردهی به اشیا در جاوا اسکریپت به صورت زیر است.
شی در مثال بالا 4 مشخصه دارد: نام کوچک، نام بزرگ، سن و رنگ چشم. هر شی دارای تعدادی مشخصه یا همان Property است. در جاوا اسکریپت برای مقداردهی به هر شی ابتدا نام مشخصه (Property) را نوشته، سپس علامت : را می گذاریم و در مرحله بعد مقداری را که می خواهیم به این مشخصه بدهیم را می نویسیم.
نوع عملگرشما می توانید با استفاده از عملگر typeof درجاوا اسکریپت نوع متغیر جاوا اسکریپت را پیدا کنید. عملگر typeof نوع یک متغیر یا عبارت را به ما می دهد. به مثال های زیر دقت کنید:
تعریف نشده (Undefined)
در جاوا اسکریپت، یک متغیر بدون مقدار، مقدار تعریف نشده را دارد. نوع آن هم تعریف نشده یا همان Undefined می باشد.
هر متغیری می تواند با اختصاص دادن مقدارش به undefined تهی شود. نوع آن هم undefined خواهد شد.
مقادیر تهییک مقدار تهی هیچ ربطی به undfined ندارد. یک رشته ی تهی هم مقدار و هم یک نوع دارد.
Nullدر جاوا اسکریپت null به معنای هیچ می باشد. یعنی چیزی می باشد که وجود ندارد. متاسفانه، در جاوا اسکریپت، نوع دیتای null یک شی محسوب می شود. شما می توانید یک شی را با اختصاص دادنش به null تهی کنید:
همچنین می توانید یک شی را با اختصاص دادنش به undefined تهی کنید.
تفاوت میان تعریف نشده و null
در زبان جاوا اسکریپت، مفاهیم undefined و nullدر مقدار مساوی هستند اما در نوع متفاوت اند:
دیتای ابتداییدر زبان جاوا اسکریپت، یک مقدار دیتای ابتدایی، دیتایی ساده و تنها می باشد که هیچ متد و مشخصه ی اضافی ای ندارد. عملگر typeof می تواند یکی از انواع دیتای ابتدایی زیر را به ما بدهد.
- String (رشته)
- Number (عدد)
- Boolean (بولی)
- Undefined (تعریف نشده)
دیتای مختلط (Complex)
در زبان جاوا اسکریپت، عملگر typeof می تواند یکی از این دو نوع دیتای مختلط را به ما بدهد:
- Function (تابع)
- Object (شی)
عملگر typeof مقدار شی یا Object را برای اشیا، آرایه ها و نال می دهد و تابع را برای مقادیر Function با ما برمیگرداند.