جاوااسكريپت داراي هشت نوع داده ميباشد:
نوع شئ داده شامل موارد زيراست:
مثال ـ نمونه هاي نوع داده
// Numbers: let length = 16; let weight = 7.5; // Strings: let color = "Yellow"; let lastName = "Johnson"; // Booleans let x = true; let y = false; // Object: const person = {firstName:"John", lastName:"Doe"}; // Array object: const cars = ["Saab", "Volvo", "BMW"]; // Date object: const date = new Date("2022-03-25"); l
توجه ـ متغير جاوااسكريپت ميتواند هر نوع داده اي را نگهداري كند.
در برنامه نويسي كامپيوتر مفهوم نوع داده بسيار با اهميت است .در عمليات روي متغيرها بايد قادر باشيد از نوع داده اطلاع پيدا نمائيد، بدون تفكيك داده، كامپيوتر نمي تواند بطور مطمئن جوابي را ارائه نمايد .نمونه زير:
let x = 16 + "Volvo";
آيا منطقي است كه"volvo"را به عدد 16 اضافه شود، يا منجر بخطا ميشوديا نتيجه اي را ارائه ميدهد.
جاوااسكريپت با نمونه بالا مطابق فرم زير بر خورد مي نمايد.
let x = "16" + "Volvo";
توجه ـ هنگام اضافه كردن عدد به رشته ، جاوااسكريپت عدد را به رشته عددي در نظرمي گيرد وآنها را بهم مي چسباند.
مثال ـ جمع عدد با رشته
let x = 16 + "Volvo"; // same let x="16"+"Volov";
مثال ـ همان مثال بالا با جابجائي داده
let x = "Volvo" + 16;
جاواسكريپت عبارات را از چپ به راست ارزيابي ميكند، توالي هاي مختلف مي تواند نتايج متفاوتي داشته باشد.
در دو مثال بعدي همان عبارت با جابجائي عملوند ها نتايج متفاوت را به بينيد.
let x = 16 + 4 + "Volvo"; // output 20Volvo
let x = "Volvo" + 16 + 4; // output Volvo164
در مورد اولي16 و 4 بعنوان عدد جمع ميشوند، كه.20 خواهد شد .اين با عملوند بعدي يعني"Volvo" رشته يعني "20" منظور شده وحاصل "20Volov" ميشود .
در مورد دوم اولين عملوند رشته بوده ، در نتيجه مابقي رشته منظور مي شود.
چاوااسكريپت داراي نوع داده پوياست .باين معني كه متغير ميتواند داده هاي مختلف را نگهداري نمايد، يعني نوع داده متغير تغييركند.
مثال ـ متغيرx با تغيير نوع داده آن
let x; // Now x is undefined
x = 5; // Now x is a Number
x = "John"; // Now x is a String
يك رشته(string) دنباله اي از كراكترهاست كه درداخل كوتيشن يا دبل كوتيشن قرار ميگيرد.مثل"John Doe"
مثال ـ داده رشته اي
/ Using double quotes: let carName1 = "Volvo XC60"; // Using single quotes: let carName2 = 'Volvo XC60';
ميتوان از نقل قول در داخل يك رشته استفاده كرد بشرطي كه با نقل اطراف رشته يكسان نباشد.
مثال ـ نمونه كراكتر كوتيشن در داخل رشته
// Single quote inside double quotes: let answer1 = "It's alright"; // Single quotes inside double quotes: let answer2 = "He is called 'Johnny'"; // Double quotes inside single quotes: let answer3 = 'He is called "Johnny"';
در ادامه مطالب در مورد رشته ها در فصل Js Strings مطالب بيشتري مطرح ميشود.
همه اعداد جاوااسكريپت بصورت دسيمال ذخيره ميشوند، با نقطه اعشاري يا بدون آن.
مثال ـ نمونه اعداد با نقطه اعشاري وبدون آن
// With decimals: let x1 = 34.00; // Without decimals: let x2 = 34;
اعداد بسيار بزرگ يا بسيار كوچك را ميتوان با نماد نمائي يا تواني نوشت.
مثال ـ اعداد با نمايش نمائي
let y = 123e5; // 12300000 let z = 123e-5; // 0.00123
توجه ـ در جاوااسكريپت براي ذخيره سازي اعداد يك نوع فضاي64 بيتي وبصورت اعشاري شناور (64-bit floating point)ميباشد .
در مورد اعداد در فصل Js Numbes مطالب بيشتري ارائه ميشود.
همه اعداد جاوااسكريپت در64 بيت بصورتfloating point ذخيره ميشوند.
نوع دادهBigInt نوع جديدي است كه در ES2020 براي ذخيره اعداد بزرگ پيش بيني شده است .اين نوع بصورت اعداد نرمال بدون نقطه اعشاري ميباشند
مثال ـ اعداد بزرك
let x = BigInt("123456789012345678901234567890");
مطالب بيشتري در مورد اعداد بزرگ ر فصل Js BigInt مطرح ميگردد.
اعداد بولين فقط داراي دو مقدارtrueياfalse ميباشند .
مثال ـ نمونه اعداد بولين
let x = 5; let y = 5; let z = 6; (x == y) // Returns true (x == z) // Returns false
بولين ها اغلب در بررسي يا كنترل شرايط بكار گرفته ميشوند.
در مورد اعداد بولين در فصل Js Booleans مطالب جامعتري ارائه ميگردد.
آرايه هاي جاوااسكريپت در براكت باز و بسته([ ...]) نوشته ميشوند .عناصر آرايه در داخل براكت با كاما تفكيك ميشوند.
مثال ـ در اين مثال آرايه با نامcars كه شامل سه آيتم است تعريف يا ايجاد ميشود .
const cars = ["Saab", "Volvo", "BMW"];
اين آرايه انديس دار بوده وانديس آن از صفر شروع ميگردد .عناصر دراين مثالcars[0] , cars[1] وcars[2] هستند .
مطالب جامعتري براي آرايه ها درفصل Js Arrays مطرح ميشود.
اشياء جاوااسكريپت با اكولاد({...}) نوشته مي شوند .هر ويژگي آن داراي زوج name:valueميباشند .ويژگي ها با كاما از همديگر تفكيك ميشوند.
مثال ـ نمونه شئ
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
در مثال بالا شئ با نامperson داراي چهار ويژگي firstName , lastName,age , eyeColor
اطلاعات جامعتري در مورد شئ درفصل Js Ojects مطرح ميشود.
عملگرtypeof براي تشخيص نوع داده متغيريا عبارت استفاده ميشود.
عملگرtypeof نوع متغير يا عبارت را برگشت ميدهد .
مثال ـ نمونه استفاده ازtypeof
typeof "" // Returns "string" typeof "John" // Returns "string" typeof "John Doe" // Returns "string"
مثال ـ نمونه ديگراستفاده ازtypeof
typeof 0 // Returns "number" typeof 314 // Returns "number" typeof 3.14 // Returns "number" typeof (3) // Returns "number" typeof (3 + 4) // Returns "number"
اطلاعات جامعتري در موردtypeof درفصل Js Typeof مطرح ميشود.
يك متغير جاوااسكريپت بدون مقدار، داراي مقدار نامشخص ياundefined ميباشد . نوع داده آن همundefined ميباشد .
مثال ـ نمونهundefined
let car; // Value is undefined, type is undefined
هر متغيري را با تنظيمundefinde ميتوان خالي كرد . در اين حالت هم نوع آن undefinedخواهد بود .
مثال ـ تنظيم مقدار متغير بهundefined
car = undefined; // Value is undefined, type is undefined
مقدار خالي هيچ ارتباطي بهundefined ندارد .يك مقدار خالي هم مقداري قابل قبول بوده وداراي نوعstring يا رشته ايست .
مثال ـ نمونه مقدار خالي
let car = ""; // The value is "", the typeof is "string"