داده ها مقادیری هستند که داخل یک متغیر میریزیم و انواع مختلفی دارند. هنگام تعریف متغیر در جاوااسکریپت نیاز به تعریف نوع داده نیست و این زبان قدرتمند به طور اتوماتیک متوجه نوع داده ورودی میشه. اما لازمه که به عنوان یه برنامه نویس انواع داده در جاوااسکریپت را بشناسید تا بتونید به خوبی و به وقتش از Data استفاده کنید.
در جلسه چهارم آموزش رایگان جاوااسکریپت، متغیرها را یاد گرفتید. برای تعریف متغیرها در جاوااسکریپت از کلمه کلیدی Var استفاده میکنیم و بعد از تعریف یک متغیر میتونیم به اون یه مقدار (Value) بدیم. به مقادیری که به یک متغیر نسبت داده میشه داده (Data) میگویند. اما در جاوا اسکریپت نیازی نیست زمانی که متغیر ها را مقدار دهی میکنید، مشخص کنید که چه نوع داده ای را به متغیر نسیت دادید. اما لازمه تا بدونید از چه نوع داده ای میتونید برای مقدار دهی به متغیر ها استفاده کنید.
برای اینکه بفهمیم یک متغیر و داده (Data) نسبت داده شده به آن از چه نوعی است؛ میتوانیم از دستور typeof استفاده کنیم. کافیه جلوی دستور typeof اسم متغیر یا داده مد نظر را قرار دهیم و در خروجی ببینیم که داده ما از چه نوع است.
typeof 6 //returns Number typeof "MEGA JS" //returns String var x; x = 15; typeof x //returns Number x = "Learn JS" typeof x //returns String
متغیرها در جاوااسکریپت مقادیر مختلفی را قبول میکنند، از جمله داده های مورد قبول میتوان به اعداد (Numbers) ، رشته ها (Strings) ، اشیا (Objects) ، آرایه ها (Arrays) و Booleans که در این مطلب همه آن ها بررسی میشن.
یکی از مزایای زبان جاوااسکریپت اینه که نیازی نیست هنگام تعریف متغیر و مقداردهی به متغیر مشخص کنید که نوع داده اختصاص شده از چه نوعی است. در واقع این عمل به صورت داینامیک صورت میگیره. با یه مثال این مورد را واضح تر توضیح میدم:
var x; // Now X is undefined x = "MEGA JS" // Now X is a String x = 11; // Now X is a Number
همان طور که در قطعه کد بالا مشخصه، در خط اول X تعریف شده اما چون هیچ مقداری ندارد undefined (تعریف نشده) است اما در خط بعدی بعد از نسبت دادن کاراکتر (کلمه) به X حالا متغیر X از نوع String (رشته) شده است. در خط سوم عدد ۱۱ را به X نسبت دادیم و نوع داده داخل X به عدد (Number) تغییر پیدا کرد.
رشته (String) یا متن (Text) به دنباله ای از کاراکتر ها و حروف گفته میشه. در کل هر چیزی که میخوایم مثل یک متن یا جمله نمایش داده بشه باید بین دو تا کوتیشن (Single quotes) (‘ ‘) یا دبل کوتیشن (Double quotes) (” “) نوشته شود. مثل:
var firstName = "Mohammad reza" // Using double quotes var lastName = 'Haji maghsoodi'; // Using single quotes
دبل کوتیشن و سینگل کوتیشن تفاوتی با هم ندارند و زمانی که شما از هر دو متغیر Typeof بگیرید با نتیجه زیر روبرو میشوید.
typeof firstName // String typeof lastName // String
و تنها زمانی که میخواید در متون و جمله های انگلیسی از کوتیشن (Single quotes) استفاده کنید میتونید همزمان از ” ” , ‘ ‘ استفاده کنید. مثل:
var Sentence= "It's alright" // Single quote inside double quotes
اعداد به دو شکل Integer و Float در متغیر قرار میگیرد. به اعداد صحیح integer و به اعداد اعشار float می گویند. هنگامی که در یک متغیر قصد داریم اعداد را قرار دهیم، مقادیر را بین کوتیشن قرار نمی دهیم و مانند نمونه ی پایین عمل می کنیم.
نکته: اگر اعداد را بین کوتیشین بنویسیم یک رشته یا String حساب میشوند.
Var a = 15; typeof a; // Number Var b = 18.9; typeof b; // Number var c = "11" typeof c; // String
در زبان هایی که نوع متغیر باید مشخص شود؛ اگر متغیری از نوع int ایجاد کنیم و مقدار اعشاری در آن قرار دهیم، بخش اعشاری آن عدد حذف میشود و تنها بخش صحیح عدد ذخیره میشود. در توابعی در جاوا اسکریپت هم که در آینده بیشتر با آنها آشنا میشویم این موضوع را بیشتر توضیح خواهیم داد.
در همه ی زبان های برنامه نویسی گاهی اوقات لازم است تا تعدادی داده را در یک متغیر قرار بدهیم در این صورت از آرایه ها (لیست) استفاده میکنیم. تعریف یک آرایه مانند متغیر هاست و هر آرایه دارای یک نام است. مقادیری که میخواهیم در این آرایه قرار بدهیم را بین براکت های باز و بسته [ ] قرار میدهیم. به هر یک از مقادیر که در آرایه قرار میگیرند یک اندیس از آن آرایه میگویند. هر اندیس را با علامت , از اندیس دیگر جدا میکنیم.
در زیر نمونه ای از یک آرایه را میتوانید مشاهده کنید:
Var array= [“megajs” , ۱۵ , “javascript”];
برای اینکه به هر یک از اندیس های این آرایه دسترسی داشته باشیم، از شماره اندیس ها استفاده میکنیم. شماره اندیس های هر آرایه به این صورت است که ابتدا نام ارایه را نوشته و جلوی آن شماره اندیس آرایه را قرار میدهیم.
توجه کنید که شماره ی اندیس هر آرایه از صفر شروع می شود، یعنی اندیس صفرم آرایه ی بالا “megajs” است.
بولین یا منطقی نوعی دیتا است که تنها دو مقدار true و false را میتواند در خود قرار دهد.در زیر نمونه ای از این نوع داده را تعریف کرده ایم.
Var a = true; Var b = false;
اگر ما بخواهیم مقادیر این دو را چاپ کینم، true به ما عدد یک را برمیگرداند و false برای ما خروجی نخواهد داشت.
ابجکت ها (Objects) در جاوااسکریپت مانند آرایه ها چندید مقدار را در خود ذخیره میکنند اما با این تفاوت که در Object ها میتوان برای هر اندیس یک key تعریف کنیم. برای تعریف آرایه از براکت های باز و بسته استفاده میکردیم ولی در تعریف Object از آکولاد { } استفاده می کنیم. مثال زیر یک آبجکت است که اطلاعات یک کاربر در آن قرار گرفته است:
Var user={ name=”Mohammad reza” , lastname=”Haji maghsoodi”, phoneNumbers= [09120000000, 09020000000] }
زمانی که بخواهیم یک متغیر تعریف کنیم و در آن متغیر مقداری قرار ندهیم از مقدار null استفاده میکنیم. اما اگر یک متغیری را فراخوانی کنیم که از قبل وجود نداشته است، کنسول به ما مقدار undefined را بر میگرداند.
در دنیای برنامه نویسی که هر روز یک یا چند قدم از روز قبل جلوتر است یادگیری یک زبان برنامه نویسی که تمامی نیازهایمان را رفع کند بی شک بهترین انتخاب است. بی شک جاوااسکریپت قدرت نسل بعد این عرصه خواهد بود. وبسایت megajs اولین مرجع تخصصی جاوااسکریپت به زبان فارسی است. که از صفر تا فول استک جاوااسکریپت همراه شماست.