سلام به شمادوستان عزیز ومحترم، امیدوارم که خوب وشاد با اموزشهای مان همراه باشید.نوع داده دسته بندی ای از انواع تایپ‌های موجود مانند اعداد صحیح (integer)، بولی (boolean) و… است که ویژگی‌هایی از جمله : مقادیر قابل پذیرش توسط متغیر، عملیات قابل اجرا بر روی متغیر، معنای داده و حافظه مورد نیاز برای ذخیره متغیر را تعین می ‌کند.

انواع داده : رشته، عدد، بولی، آرایه، شی (object)

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

جاوا اسکریپت می تواند data type های گوناگونی مانند : اعداد (نوع عددی)، رشته (نوع رشته ی)، آرایه (از نوع آرایه) و از نوع object (شی).

var length = 16; // Number

var lastName = “Johnson”; // String

var cars = [“Saab”‎،‎ “Volvo”‎،‎ “BMW”]; // Array‎

var x = {firstName:”John”‎،‎ lastName:”Doe”}; // Object

مفهوم نوع داده

در برنامه نویسی، نوع داده مفهوم بسیار مهمی است.

برای اینکه بتوان روی متغیرها عملیات انجام داد، باید چیزی درباره ی نوع آن دانست.

بدون نوع داده، کامپیوتر قادر به فهم و محاسبه صحیح و امن داده نیست.

var x = 16 + “Volvo”;‎

آیا عاقلانه به نظر می رسد که “Volvo” را به عدد ۱۶ اضافه کنیم؟ آیا نتیجه ی صحیح و منطقی بدست می دهد و یا در نتیجه ی عملیات خطا برمی گرداند (ارور می دهد)؟

جاوا اسکریپت مثال بالا را اینگونه پردازش می کند.

var x = “16” + “Volvo”; ‎

در صورتی که عملوند operand / دوم یک رشته باشد، جاوا اسکریپت عملوند اول را نیز رشته محسوب می کند.

مثال

نمونه یک

جاوا اسکریپت عبارات را از چپ به راست ارزیابی می کند. ترتیب و توالی متفاوت ممکن است نتایج متفاوتی را رقم بزند.

نمونه دو

مثال جاوا اسکریپت

نمونه سه

در مثال اول، جاوا اسکریپت ۱۶ و ۴ را به عنوان رقم یا عدد درنظر می گیرد تا اینکه به “Volvo” می رسد.(که یک رشته تلقی می گردد)

حال در مثال دوم، از آنجایی که عملوند اول یک رشته است، دیگر عملوندها نیز به مثابه ی رشته درنظر گرفته می شوند.

جاوا اسکریپت دارای نوع داده ی پویا (dynamic type) است.

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

مثال

var x; // Now x is undefined

var x = 5; // Now x is a Number

var x = “John”; // Now x is a String

رشته ها در جاوا اسکریپت (متغیر رشته ای)

یک رشته string / (یا همان رشته ی مبتنی بر متنtext string / ) متشکل است از یک سری کاراکتر مانند این مثال “John Doe” که یک رشته محسوب می شود.

رشته ها باید حتماً داخل علامت نقل و قول نوشته شوند. برای این منظور می توان از هر دو کاراکتر ” ” و ‘ ‘ بهره گرفت.

مثال

var carName = “Volvo XC60”; // Using double quotes

var carName = ‘Volvo XC60’; // Using single quotes‎

همچنین می توان از علامت نقل و قول داخل رشته استفاده کرد، البته تا زمانی که با علامت نقل و قول اطراف رشته یکی نشوند.

مثال

نمونه چهار

اعداد در جاوا اسکریپت (متغیرهای عددی)

جاوا اسکریپت تنها یک نوع عدد دارد، به عبارتی دیگر اعداد را می توان با اعشار (decimal) یا بدون اعشار بکار برد / متغیرهای عددی در جاوا اسکریپت یا به صورت اعشاری و دهدهی نوشته می شوند و یا به صورت عدد صحیح نمایش داده می شوند.

مثال

var x1 = 34.00; // Written with decimals

var x2 = 34; // Written without decimals

اعدادی که بیش از حد بزرگ یا کوچک هستند را می توان با نماد علمی scientific notation / نوشت.

var y = 123e5; // 12300000‎

var z = 123e-5; // 0.00123‎

نوع داده ی بولی (متغیر بولی) در جاوا اسکریپت / Boolean

متغیرهای بولی تنها می توانند دو مقدار true یا false را داشته باشند.

مثال

var x = true;‎

var y = false;‎

متغیرهای بولی برای آزمودن و تست یک شرط بکار می رود.

آرایه ها (arrays) در جاوا اسکریپت

آرایه ها در جاوا اسکریپت داخل کروشه یا همان کاراکتر [] قرار می گیرند.

آیتم های یک آرایه توسط ویرگول از هم جدا می شوند.

کد زیر آرایه ی به نام cars که شامل سه آیتم (اسم اتومبیل) می باشد را ایجاد (تعریف) می کند.

مثال

نمونه پنج

اندیس یا شاخص آرایه از صفر آغاز می گردد، بدین معنا که آرایه ی اول [۰]، دومین [۱] و به همین ترتیب ادامه پیدا می کند.

اشیا (objects) در جاوا اسکریپت

در جاوا اسکریپت اشیا داخل کاراکتر {} (آکولاد) قرار داده و تعریف می شوند. خصوصیت های اشیا در جاوا اسکریپت داخل آکولاد به صورت جفت اسم : مقدار (name:value pairs) نوشته شده و توسط ویرگول از هم جدا می گردند.

مثال

نمونه شش

شی (person) در مثال فوق دارای چهار خصوصیت می باشد : firstName، lastName، age وeyeColor.

عملگر typeof

می توان با استفاده از عملگر typeof نوع یک متغیر جاوا اسکریپت را بدست آورد / عملگر ذکر شده نوع متغیر را برمی گرداند.

مثال

typeof “John” // Returns string

typeof 3.14 // Returns number

typeof false // Returns boolean

typeof [1‎،‎۲‎،‎۳‎،‎۴] // Returns object‎

typeof {name:’John’‎،‎ age:34} // Returns object

نکته

در جاوا اسکریپت، آرایه در واقع یک نوع شی محسوب می گردد. بنابراین typeof [1,2,3,4] در نتیجه نوع object را برمی گرداند.

Undefined (تعریف نشده)

متغیری که مقداردهی نشده است، به صورت پیش فرض تعریف نشده تلقی می گردد و مقدار آن undefined می باشد. در صورت استفاده از typeof نیز مقدار undefined به عنوان نتیجه بازگردانده می شود.

مثال

var person; // Value is undefined،‎ type is undefined

هر متغیری را می توان با تنظیم مقدار آن روی undefined تهی کرد، همچنین نوع آن undefined یا تعریف نشده درنظر گرفته می شود.

مثال :

person = undefined; // Value is undefined،‎ type is undefined

مقادیری تهی / empty values

یک مقدار تهی هیچ گونه ارتباطی با مقدار تعریف نشده (undefined) ندارد.

یک متغیر رشته ی تهی (empty string variable) هم مقدار و هم نوع آن تعریف شده هستند.(دارای نوع و مقدار است)

مثال

var car = “”; // The value is “”‎،‎ the typeof is string

null

Null در جاوا اسکریپت به معنای تهی یا “nothing” است. متاسفانه در زبان برنامه نویسی بیان شده نوع داده ی null یک شی حساب می شود.

با تنظیم مقدار یک شی روی null می توان آن شی را تهی کرد / تخصیص null به شی می توان آن را تهی کرد.

مثال

var person = null; // Value is null،‎ but type is still an object

همچنین می توان برای تهی کردن یک شی آن را undefined مقداردهی کرد.

مثال

نمونه هفت

در مثال زیر تفاوت بین undefined و null تشریح شده

typeof undefined // undefined

typeof null // object

null === undefined // false

null == undefined // true