در ادامه بحث متغیرها به بحث انواع داده ها میرسیم. شما به عنوان یه برنامه نویس باید انواع داده ای زبان برنامه نویسی رو بشناسید. مثلا عدد 2
داده ای از نوع Number
هست و 'Reza'
یک رشته یا String
هست و True
نوع داده ای Boolean
هست که یک برنامه نویس هر روز و همیشه از اینها استفاده میکنه. اما انواع داده ای دیگه هم داریم بذارید یکم بیشتر در این مورد صحبت کنیم.
برخلاف زبان هایی مثل جاوا یا سی شارپ، جاوا اسکریپت روی انواع داده ای حساس نیست به این معنی که شما نیاز نیست در هنگام تعریف متغیر نوع داده ای رو هم مشخص کنید و حتی بعد از اختصاص یک مقدار به یه متغیر، میتونید یه مقدار دیگه از یه نوع داده ای دیگه بهش اختصاص بدید که این نوع زبان ها رو بهش میگیم “dynamically typed” یا “dynamic language”.
به این مثال توجه کنید:
// no error let message = "hello"; message = 123456;
ما تو لاین اول نوع داده ای نوع string
رو به متغیر message
دادیم ("hello"
) و در لاین بعد یک نوع داده ای از نوع number
به message
اختصاص دادیم و جاوا اسکریپت با این موضوع مشکلی نداره.
انواع داده ها
ما در جاوااسکریپت انواعداده ای ساده (Primitive) و انواع داده ای پیچیده (Complex) داریم.
انواع داده ای Primitive:
Number
– برای اعداد از هر نوعی چهinteger
مثل عدد7
و چهfloat
مثل7.23
String
– برای رشته های متنی. چه یک کاراکتر و چه مجموعه ای از کاراکترها مثل"Hello Devs"
Boolean
– برایTrue
,False
-
Null
– برای مقادیر ناشناخته و یا پوچ (هیچ چیز) undefined
– برای مقادیر تعریف نشده مثلvar x;
چون مقداری بهش اختصاص ندادیم یا اینکه کلا وجود ندارهSymbol
– (جدید در ES6) برای ساخت مقادیر منحصر به فرد که در مباحث پیچیده تر کاربرد دارن
انواع داده ای Complex:
Object
–Object
تو جاوا اسکریپت مجموعه ای متدها (Method) رو خواص ها(Properties) رو تشکیل میده که در خودش میتونه انواع داده ای مختلف داشته باشه.
اپراتور typeof
بوسیله این اپراتور شما میتونید نوع داده ای یه متغیر رو در جاوا اسکریپت ببینید که اغلب برای چک کردن استفاده میشه:
var x; typeof x // "undefined" typeof 0.5 // "number" typeof true // "boolean" typeof "foo" // "string" typeof [1,2,3,4] // "object" (*) typeof Symbol("id") // "symbol" typeof Math // "object" typeof alert // "function" (*)
همونطور که میبینید اینجا نوع داده ای رو به شما میگه. نکته ای که اینجا هست شاید شما انتظار داشته باشید خروجی typeof [1,2,3,4]
برابر با array
باشه پس چرا نوشته object
؟ دلیلش اینه که آرایه ها در جاوا اسکریپت در حقیقت object
هستند. در مورد function
هم همینطوره در حقیقت function
ها هم object
هستند اما توسعه دهنده های جاوا اسکریپت تصمیم گرفتن درخروجی به کاربر همون function
رو نشون بدند.
مثالهایی از انواع داده ها
خوب برای اینکه یه آشنایی در مورد انواع داده ها داشته باشیم چند مثال هم بیاریم بد نیست.
انواع داده ای Number
و String
:
var length = 16; // Number var lastName = "Johnson"; // String
انواع داده ای Boolean
:
Boolean
یکی از پر استفاده ترین نوع داده ای در برنامه نویسیه که دو حالت بیشتر نداره یا True
هست و یا False
var x = 5; var y = 5; var z = 6; (x == y) // Returns true (x == z) // Returns false
انواع داده ای Array
(آرایه ها):
آرایه ها در جاوا اسکریپت خیلی نزدیک به object
ها هستن (در حقیقت نوع خاصی از object
هست) که به این شکل تعریف میشه:
var cars = ["Saab", "Volvo", "BMW"];
انواع داده ای Object
:
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
خوب حالا در مورد انواع داده ای که باهاشون در جاوا اسکریپت سروکار داریم شناخت پیدا کردیم و یه نگاهی به تعریف انواع داده در جاوا اسکریپت انداختیم. تا حالا که خیلی آسون بوده نه؟ در ادامه با ما همراه باشید 🙂