بنر بالای مطالب

banner

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

ویژه انواع داده در جاوا اسکریپت (درس دوازدهم)

در صورت مفید بودن این مقاله حتما نظر خودتان را در پایین مطلب برای ما ارسال کنید

درس دوازدهم:انواع داده در جاوا اسکریپت:
متغیر ها در جاوا اسکریپت می توانند انواع داده را در خود نگهداری کنند،در جدول زیر انواع داده و نحوه استفاده از آنها را مشاهده می کنید:
مفهوم انواع داده در جاوا اسکریپت:
درک مفهوم انواع داده در برنامه نویسی یک امر مهم می باشد .
برای اینکه بتوانید با متغیر ها کار کنید ، مهمه که اطلاعاتی در مورد انواع داده داشته باشید.
بدون انواع داده ، یک کامپیوتر نمی تواند دستور زیر را بدون خطا اجرا کند:

نوع داده توضیحات مثال
Number برای اعداد var length = 16;
String برای رشته حروف var lastName = "Johnson"
Array برای آرایه var cars = ["Saab""Volvo""BMW"]; 
Object برای شی var x = {firstName:"John", lastName:"Doe"};

var x = 16 + "Volvo";

 

این عبارت چه مفهمومی دارد؟آیا با یک خطا مواجه می شویم یا این عبارت دارای یک نتیجه می باشد؟
و اما راه حل جاوا اسکریپت برای اینکه کامپیوتر عبارت بالا رو درک کنه:
وقتی که یک عدد و یک رشته با هم جمع بشوند ، جاوا اسکریپت عدد رو یک رشته در نظر میگیره:

var x = 16 + "Volvo";
خروجی: 16Volvo

 

محاسبه و ارزیابی اطلاعات در جاوا اسکریپت از چپ به راست می باشد.تفاوت در محل قرار گیری ، باعث نتایج متفاوت نیز می شود:
مثال اول:

var x = 16 + 4 + "Volvo";
خروجی: 20Volvo

 

مثال دوم:

var x = "Volvo" + 16 + 4;
خروجی: Volvo164

 

در مثال اول ابتدا جاوا اسکریپت 16 و 4 را عدد در نظر میگیرد و آن دو را با هم جمع می بندد اما به محض رسیدن به عبارت volvo که یک رشته می باشد حاصل جمع دو عدد را با رشته الحاق می کند.
در مثال دوم عبارت با یک رشته شروع شده و جاوا اسکریپت بقیه عبارت را هرچه که باشد رشته در نظر میگیرد و دیگر اعداد را با یکدیگر تجمیع نمی کند.


انواع داده پویا در جاوا اسکریپت:
انواع داده در جاوا اسکریپت پویا می بشاند ، این بدان مفهمو است که یک متغیر می تواند برای انواع مختلف داده مورد استفاده قرار گیرد:

var x;               //  تعریف متغیر خالی
var x = 5;           // متغیر حاوی یک عدد
var x = "John";      // متغیر حاوی یک رشته حروف

 

در سه خط بالا ابتدا x خالی می باشد سپس یک نوع داده عددی را در خود جای میدهد و در انتها یک رشته حروف را در خود ذخیره میکند.
رشته ها در جاوا اسکریپت:
در درسهای قبلی توضیحاتی در مورد رشته ها ارائه کردیم که اکنون به کاربرد های بیشتر آن می پردازیم:
یک رشته (یا یک رشته متن) مجموعه از چند کارکتر می باشد مانند "asarayan learning".
رشته ها بین دو علامت کوتیشن " قرار میگیرند.شما می توانید از تک کوتیشن یا جفت کوتیشن استفاده کنید:

var carName = "Volvo XC60";   // استفاده از جفت کوتیشن
var carName = 'Volvo XC60';   // استفاده از تک کوتیشن

 

شما میتوانید از علامت کوتیشن در بین رشته حروف خود نیز استفاده کنید با این شرط که:
-اگر بین رشته از تک کوتیشن استفاده می کنید تمام رشته را بین جفت کوتیشن قرار دهید:

var answer = "He is called 'Johnny'";

 

-اگر بین رشته از جفت کوتیشن استفاده میکنید تمام رشته را بین تک کوتیشن قرار دهید:

var answer = 'He is called "Johnny"';

 

اعداد در جاوا اسکریپت:
در جاوا اسکریپت فقط یک نوع داده عددی وجود دارد.
اعداد میتواند اعشاری یا صحیح باشند.

var x1 = 34.00;     // استفاده اعداد با اعشار
var x2 = 34;        // استفاده اعداد بدون اعشار(صحیح)

 

اعداد خیلی بزرگ یا اعداد خیلی کوچک را میتوان با نماد e نوشت:

var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123

 

Booleans در جاوا اسکریپت:
نوع داده بولین فقط میتواند دو مقدار true و false یا همان درست و غلط را مورد استفاده قرار دهد:

var x = true;
var y = false;

 

از نوع داده بولین معمولا در شرط ها استفاده می شود.
 آرایه ها در جاوا اسکریپت:
در جاوا اسکریپت آرایه ها بین علامت براکت نوشته می شوند.
عناصر آرایه به وسیله علامت کاما از یکدیگر جدا می شوند.
در مثال زیر یک آرایه با نام car که دارای سه عنصر می باشد ایجاد شده است:

var cars = ["Saab", "Volvo", "BMW"];

 

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


Object (شی) در جاوا اسکریپت:
در جاوا اسکریپت آبجکت یا همان اشیاء بین علامت آکولاد نوشته می شود.
هر شی شامل یک یا چند خصیصه (مشابه عنصر در ارایه) می باشد.
مشخصات هر خصیصه  بصورت زیر نوشته می شود:
مقدار خصیصه : نام خصیصه

name:value pairs

 

که هر خصیصه با علامت کاما از خصیصه دیگر جدا میشود.

در مثال زیر یک شی با نام person شامل چهار خصیصه firstNameو lastNameو ageو eyeColor می باشد:

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

 

عملگر Typeof:
با استفاده از عملگر typeof می توانید نوع متغیر را در جاوا اسکریپت تشخیص دهید.
در مثال زیر قبل از مقدار مورد نظرمان عبارت typeof را اضافه میکنیم و در خروجی نوع متغیر برای مقدار نوشته شده چاپ می شود:

<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
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
</script>

 

نکته:در جاوا اسکریپت آرایه یک نوع شی می باشد برای همین در خروجی مقدار object  برای ارایه تشخیص داده می شود و چاپ می شود.

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

<p id="demo"></p>
<script>
var person;//ایجاد متغیر بدون مقدار اولیه
document.getElementById("demo").innerHTML =
person + "<br>" + typeof person;//نمایش مقدار متغیر در خط اول و نمایش نوع داده در خط دوم خروجی
</script>

 

در مثال فوق،برای متغیر person  مقدار اولیه ای تعریف نشده است ، بنابراین نوع داده نیز تعریف نشده می باشد.در نتیجه در خروجی هم برای مقدار متغیر و هم برای نوع داده میتغیر عبارت undefined چاپ می شود.
نکته:تگ <br> با عث میشود عبارت بعدی در خط بعدی چاپ چاپ شود و صرفا برای زیباتر شدن خروجی می باشد و در اجرای کد تاثیری ندارد.
با مقدار دهی یک متغیر با مقدار undefined میتوان محتوای موجود در آن  متغیر را تخلیه کرد:

<p id="demo"></p>
<script>
//ایجاد یک شی و ریختن آن در متغیر
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue";}
//خالی کردن محتوای متغیر و از بین بردن شی
var person = undefined;
//چاپ مقدار و نوع  متغیر
document.getElementById("demo").innerHTML =
person + "<br>" + typeof person;
</script>

 

پس از اجرا در صفحه دوبار عبارت undefined که یعنی هم مقدار و هم نوع داده تعریف نشده می باشند.\


مقدار دهی خالی:

مقدار دهی خالی(empty) با مقدار دهی بصورت تعریف نشده(undefined) تفاوت دارد.
مثلا یک متغیر رشته ای که حاوی کارکتری نمی باشد هم دارای مقدار هست هم دارای نوع داده ای:

<p id="demo"></p>
<script>
var car = ""; //ایجاد یک متغیر با مقدار خالی
//نمایش مقدار متغیر و نوع داده متغیر در خروجی
document.getElementById("demo").innerHTML =
" "The value is: " +
car + "<br>" +
" "The type is:" + typeof car;
</script>

 


در مثال فوق خروجی به شکل زیر می باشد:


The value is:
The type is:string

 

که در خط اول در مقابل مقدار چیزی چاپ نشده و این یعنی متغیر ما خالی می باشد.توجه کنید که خالی بودن با مقدار نداشتن فرق داره.
در خط دوم هم نوع داده string تشخیص داده شده ، چراکه ما مقدار خالی را بین دو علامت کوتیشن قرار داده ایم که این علامت نمایانگر نوع داده رشته می باشد.

پوچ (NULL):
در جاوا اسکریپت مقدار null یعنی هیچ.در واقع این مقدار بر خلاف نوع empty  هیچ فضایی از حافظه را اشغال نمی کند.
به زبان ساده تر وقتی از null  استفاده می کنید ، دیگه هیچ چیزی وجود نداره.
در حقیقت نوع داده null یک نوع شی (object) می باشد.که البته این یک ایراد محسوب می شود.چرا که یک شی باید حاوی خصیصه و هر خصیصه حاوی یک مقدار باشد اما null اینگونه نیست.
این مشکل به نوعی یک باگ در جاوا اسکریپت محسوب میشود.
برای خالی کردن محتوای یک شی به گونه ای که نوع شی باقی بماند می توان مقدار شی را برابر null قرار داد:

<p id="demo"></p>
<script>
//ایجاد یک شی
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue";
//خالی کردن شی و باقری مندن شی
var person = null;
//چاپ نوع داده متغیر در خروجی
document.getElementById("demo").innerHTML = typeof person;
</script>

 

در مثال بالا عبارت object در خروجی نمایش داده می شود.
نکته :برای خالی کردن و از بین بردن شی بجای null از عبارت  undefined استفاده می شود.
تفاوت بین undefined و NULL:
Undefined یک نوع تعریف نشده است اما null  یک نوع شی (object) می باشد.
هردو درای مقدار برابر اما نوع داده متفاوت هستند.

آخرین بروز رسانیسه شنبه, 18 اسفند 1394 15:07

نوشتن دیدگاه

تصویر امنیتی
تصویر امنیتی جدید

آخرین مطالب آموزشی

«
  • 1
  • 2
  • 3
»
تک وب دیزاین-قالب فارسی جوملا