انواع داده ها در JavaScript + جلسه ششم
داده ها در JavaScript
انواع داده ها در JavaScript یا به عبارتی data type ها ( دیتا تایپ یا نوع داده ) یک مشخصه ی اصلی برای همه ی زبان های برنامه نویسی است. زبان جاوا اسکریپت نیز همانند سایر زبان های برنامه نویسی از انواع داده های عددی (Number) ، رشته ای (String) ، مقادیر صحیح یا غلط (Boolean) ، تهی (null) یا تعریف نشده (undefined) آرایه ها (Array) و شئ (object) پشتیبانی می نماید. داده ها در جاوا اسکریپت دارای خواص بسیار مهمی از جمله ذخیره ی متغیرها ، تعیین نوع متغیرها و انجام انواع عملیات بر روی متغیرها هستند. با تیم طراحی سایت اصفهان وب یار همراه باشید.
تعیین نوع داده در JavaScript
همان طور که در جلسه گذشته در مورد متغیرهای جاوا اسکریپت صحبت شد، متغیرها در JavaScript نگهدارنده ی یک سری اطلاعات هستند. این اطلاعات همان داده های جاوا اسکریپت می باشند که در طول اجرای برنامه ممکن است بارها بارها مقدار یا حتی نوع داده ای آن ها تغییر بکند. داده ها در JavaScript ، دیتا تایپ های مختلفی را می پذیرند. تشخیص هر نوع از این داده ها برای برنامه نویس کمی دشوار به نظر می رسد. از این رو جاوا اسکریپت تشخیص نوع داده ی متغیر را بر عهده ی خود نهاده است و در حین اجرای برنامه نوع داده ای متغیرهای جاوا اسکریپت را شناسایی می کند. از این رو برنامه نویس برای تعریف متغیرها فقط کافیست از عبارت var استفاده نماید. var پذیرنده ی انواع داده های مختلف جاوا اسکریپت می باشد.
البته باید توجه داشته باشید که به طور مثال عملیاتی که برای اعداد قابل تعریف هستند با عملیاتی که بر روی رشته ها انجام می پذیرند کاملا متفاوت هستند. بنابراین برای پیشگیری از این نوع خطاها و محاسبات باید با این datatype های جاوا اسکریپت آشنا شوید.
تابع Typeof و داده ها در JavaScript
این تابع در جاوا اسکریپت ، یک متغیر یا یک مقدار را گرفته و نوع آن را باز می گرداند.
typeof "John" // Returns string typeof 3.14 // Returns number typeof false // Returns boolean typeof [1،2،3،4] // Returns object typeof {name:'John'، age:34} // Returns object
انواع داده جاوا اسکریپت
نوع داده عددی Number در جاوااسکریپت
این نوع داده در جاوا اسکریپت برای نمایش اعداد از نوع صحیح و اعشاری به کار می رود. در جاوا اسکریپت تفاوتی میان اعداد از نوع int و float وجود ندارد و همه ی آن ها از نوع 64 بیتی می باشند. همچنین برای نمایش اعداد بسیار کوچک یا بسیار بزرگ، می توان از نماد علمی آن ها استفاده کرد.
var x1 = 34.00; var x2 = 34; var y = 123e5; // 12300000 var z = 123e-5; // 0.00123
نوع داده رشته String در جاوا اسکریپت
نوع داده رشته ای در جاوا اسکریپت برای تعریف کراکترها و رشته ها به کار می رود. این رشته ها از کنار هم قرار گرفتن چندین کراکتر به وجود می آیند که بین حروف ‘ و ” قرار می گیرند. عموما از نماد ‘ برای کراکترها و از نماد ” برای رشته ها استفاده می گردد.
var carName = "Volvo XC60"; // Using double quotes var carName = 'Volvo XC60'; // Using single quotes
ترکیبی از علامت های ” و ‘ را می توان در یک رشته بکار برد. البته به شرطی که تداخل بین انتهای رشته ها به وجود نیاید. مثال:
var answer="He is called 'Johnny'"; var answer='He is called "Johnny"';
در صورت استفاده از نماد ” در یک عبارت رشته ای که ما بین ” قرار گرفته است می توانید از کراکتر \ قبل از ” بهره ببرید. یعنی به صورت زیر
var answer = "He is called\"Johnny"; alert(answer);
نوع داده ای بولین Boolean در جاوا اسکریپت
نوع داده بولین برای نمایش مقادیر true و false استفاده می شود. این نوع داده در جاوا اسکریپت معمولا در آزمودن و عبارات شرطی کاربرد دارد.
var x=true; var y=false;
در صورت لزوم جاوا اسکریپت می تواند عبارات بولی 0 و 1 را به false و true تبدیل کند.
نوع داده تعریف نشده undefined در جاوا اسکریپت
Undefined به معنای تعریف نشده است. نوع داده ی Undefined هنگامی به کار می رود که داده ی مورد نظر بعد از اعلان مقدار دهی اولیه نشده باشد.
var person;
نکته: نوع داده ی Undefined با نوع داده ای که اصلا اعلان نشده است (بدون var) متفاوت می باشد.
نوع داده empty valuesدر جاوا اسکریپت
این نوع داده در جاوا اسکریپت با داده ی تعریف نشده Undefined تفاوت دارد. در داده های empty value مقدار و نوع متغیرها تعریف شده هستند.
var person = “”;
نوع داده تهی null در جاوا اسکریپت
Null به معنای تهی و خالی می باشد. با تخصیص نوع داده null به شئ ، مقدار شئ خالی می شود.
var person = null; // Value is null
در واقع null به شئ ای اشاره می کند که وجود ندارد. از این رو جاوا اسکریپت نوع داده ی (typeof) null را شئ به حساب می آورد.
نکته: نوع داده ی Undefined یکی از مشتقات Null است. اما همان طور که دیدید هر کدام کاربردهای ویژه ی خود را دارند.
به تکه کد زیر توجه فرمایید:
null === undefined // false null == undefined // true
نوع داده آرایه Array در جاوا اسکریپت
این نوع داده در جاوا اسکریپت درون کروشه [] قرار می گیرد و عناصر آرایه با علامت کاما , از هم جدا می شوند. آرایه ها در جاوا اسکریپت به سه روش تعریف می شوند:
روش 1 :
var cars = new Array(); cars[0] = "Saab"; cars[1] = "Volvo"; cars[2] = "BMW";
روش 2 :
var cars = new Array("Saab"," Volvo"," BMW");
روش 3 :
var cars = ["Saab","Volvo","BMW"];
نوع داده شئ object در جاوا اسکریپت
اشیاء در جاوا اسکریپت یک سری اطلاعات در مورد متغیر می دهند. اشیاء درون آکولاد {} قرار می گیرند و خصوصیات آن به صورت زیر مقدار دهی می شود:
var person={firstname:"John", lastname:"Doe", id:5566};
شئ یک نوع کامل از آرایه می باشد که به هر خانه ی آن یک نام اختصاص داده است. بنابراین آرایه ها نوعی شئ محسوب می شوند. بناربراین هر خانه ی آن به صورت زیر نمایش داده می شود:
Person[“firstname”] = “John”;
یا:
Person.firstname = “John”;
توجه: آرایه ها و اشیاء در جاوا اسکریپت مباحث بسیار مهمی هستند که در درس مربوط به خود در مورد آن ها بیشتر صحبت می نماییم.
اعلان نوع متغیر توسط new
به صورت کلی همه ی متغیرها در جاوا اسکریپت یک نوع شئ محسوب می شوند. برای اعلان هر نوعی از این متغیرها می توانیم از عبارت new استفاده نماییم.
var book = new String; var x= new Number; var y= new Boolean; var cars = new Array; var person = new Object;
مفهوم نوع داده ها در JavaScript
اکنون که با انواع داده ها در جاوا اسکریپت آشنا شدید، خوب است که درس خود را با یک مثال مفهومی به پایان برسانیم. مثال زیر نشان می دهد که چطور کامپیوتر بر روی انواع داده ها محاسبات و تبدیل نوع داده انجام می دهد.
<!DOCTYPE html> <html> <body> <p id="demo1"></p> <p id="demo2"></p> <p id="demo3"></p> <script> var x = 16 + "Volvo"; document.getElementById("demo1").innerHTML = “The value x is” + x; var y = 16 + 4 + "Volvo"; document.getElementById("demo2").innerHTML = “The value y is” + y; var z = "Volvo" + 16 + 4; document.getElementById("demo3").innerHTML = “The value z is” + z; </script> </body> </html>
خروجی:
The value x is 16Volvo The value y is 20Volvo The value z is Volvo164
جاوا اسکریپت محاسبات را از چپ به راست انجام می دهد. در مثال بالا متغیر x نشان می دهد که هرگاه یک عدد را با رشته جمع نماییم، عدد تبدیل به رشته شده و سپس خروجی به صورت ترکیب آن دو به نمایش در می آید. در متغیر y نیز ابتدا مجموع اعداد محاسبه شده و حاصل آن با رشته Volvo ادغام گشته است. همچنین برای متغیر z اول Volvo با 16 ادغام و آنگاه با 4 ترکیب می شود و خروجی را به صورت Volvo164 باز می گرداند.
آموزش انواع داده ها در JavaScript نیز به پایان رسید. امیدوارم این آموزش برای شما مناسب بوده باشد. حتما سوالات ، انتقادات و پیشنهادات ارزشمند خود را در بخش نظرات با ما در میان بگذارید تا در اسرع وقت به آن ها رسیدگی نماییم.