ما قصد داریم این پروژهٔ متنباز را در دسترس همهٔ مردم در سرتاسر دنیا قرار دهیم.
به ترجمهٔ محتوای این آموزش به زبان خودتان کمک کنید/a>.
تبدیل نوع داده
بیشتر مواقع عملگرها و فانکشنها به طور خودکار مقادیری که به آنها داده میشود را به نوع صحیح تبدیل میکنند. به این عمل “تبدیل نوع داده (Type Conversions)” گفته میشود.
برای نمونه فانکشن alert مقدار ورودی خود را به نوع دادهی string تبدیل میکند. عملگرهای ریاضیاتی مقادیر را به نوع number تبدیل میکنند.
همینطور شرایطی وجود دارد که ما نیاز داریم مقدار را به نوع مورد نظرمان تبدیل کنیم.
در این بخش در مورد object ها صحبت نمیکنیم. فعلا فقط درباره انواع اولیه (primitives) صحبت میکنیم.
تبدیل به string
تبدیل به string زمانی رخ میدهد که ما به نوع رشتهای کاراکترهای یک مقدار نیاز داریم.
برای نمونه alert(value) تبدیل به string را برای نمایش انجام میدهد.
همینطور میتوانیم با صدا زدن String(value) تبدیل یک مقدار به string را انجام دهیم.
تبدیل به string عموما واضح است. false به "null ، "false به "null" و برای بقیه مقادیر هم به همین ترتیب انجام میشود.
تبدیل به number
تبدیل به number در فانکشنها و عبارات ریاضیاتی به طور خودکار انجام میشود.
برای نمونه وقتی تقسیم / بر روی مقادیر غیر عددی رخ میدهد :
به طور مشخص برای تبدیل یک مقدار به عدد میتوانیم از فانکشن Number(value) استفاده کنیم.
معمولا زمانی که مقداری را از ورودی های یک فرم دریافت میکنیم نوع داده این ورودی به صورت رشته (string) میباشد درحالی که به نوع عددی (Number) ورودی نیاز داریم. به همین علت باید ورودی را به مقدار عددی (Number) تبدیل کنیم.
اگر نتیجه، عدد معتبری نباشد نتیجه تبدیل NaN خواهد بود. برای نمونه:
قواعد تبدیل به number :
| Value | Becomes… |
|---|---|
undefined |
NaN |
null |
0 |
true and false |
1 and 0 |
string |
فاصلههای خالی ابتدا و انتها (شامل spaceها، tabها \tو خطوط جدید \n و دیگر موارد) حذف میشوند. اگر رشتهی باقی مانده خالی باشد نتیجه 0 خواهد بود. در غیر اینصورت عدد موجود در رشته کاراکترها «خوانده» خواهد شد. اگر خطایی رخ دهد نتیجه NaN خواهد بود. |
Examples:
لطفا در نظر داشته باشید که null و undefined در اینجا متفاوت عمل میکنند. Null به 0 تبدیل میشود و undefined به NaN تبدیل میشود.
تقریبا همهی عملگرهای ریاضیاتی، مقادیر را به عدد (number) تبدیل میکنند. تنها یک استثنا وجود دارد و آن + است. اگر یکی از مقادیر string باشد، بقیه مقادیر نیز به string تبدیل میشوند.
سپس string ها را بهم میچسباند:
این مورد فقط زمانی روی میدهد که حداقل یکی از مقادیر string باشد، در غیر اینصورت تمام مقادیر به number تبدیل میشوند.
تبدیل به boolean
تبدیل به boolean آسانترین حالت است.
این مورد در عملیات منطقی (مانند عبارات شرطی که با آنها در بخشهای بعدی آشنا خواهیم شد) رخ میدهد. همینطور به صورت مشخص نیز میتوان با فانکشن Boolean(value) اینکار را انجام داد.
قاعده تبدیل :
- مقادیری که در ظاهر “خالی” هستند، مانند
0،stringخالی ،null،undefinedوNaNبهfalseتبدیل میشوند. - بقیه مقادیر به
trueتبدیل میشوند.
برای نمونه :
0 برابر با true خواهد بودخلاصه
سه نوع تبدیل نوع داده، که بطور گسترده مورد استفاده قرار میگیرد، تبدیل به string ، تبدیل به number و تبدیل به boolean است.
تبدیل به string – زمانی که میخواهیم خروجیای داشته باشیم رخ میدهد. از طریق String(value) قابل انجام است. تبدیل به string معمولا وقتی مقدار از انواع اولیه داده (primitive values ) است، واضح خواهد بود.
تبدیل به number – در عملگرهای ریاضیاتی رخ میدهد. از طریق Number(value) قابل انجام است.
این تبدیل از این قوانین پیروی میکند :
| Value | Becomes… |
|---|---|
undefined |
NaN |
null |
0 |
true / false |
1 / 0 |
string |
رشته همانطور که «هست» خوانده میشود و فاصلههای خالی (شامل spaceها، tabها \t، خطوط جدید \n و غیره) نادیده گرفته میشوند. یک رشته خالی 0 میشود. ارور NaN را نتیجه میدهد. |
تبدیل به boolean – در عملگرهای منطقی رخ میدهد. از طریق Boolean(value) قابل انجام است.
این تبدیل از این قوانین پیروی میکند :
| Value | Becomes… |
|---|---|
0, null, undefined, NaN, "" |
false |
| any other value | true |
اکثر این قوانین آسان بوده و ساده به خاطر میمانند. استثناهایی که معمولا در آن اشتباه میکنیم :
-
undefinedبه عنوان number برابرNaNخواهد بود و0نخواهد بود. -
"0"و string حاوی جای خالی" "به عنوانbooleanبرابر true خواهند بود.
در اینجا در مورد تبدیل object ها صحبت نکردیم و در بخشهای بعدی به آنها خواهیم پرداخت.
- © 2007—2026 Ilya Kantor
- دربارهٔ پروژه
- تماس با ما
نظرات
<code>استفاده کنید، برای چندین خط – کد را درون تگ<pre>قرار دهید، برای بیش از ده خط کد – از یک جعبهٔ شنی استفاده کنید. (plnkr، jsbin، codepen…)