پرشین تم مقالات تبدیل نوع داده در جاوااسکریپت

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

image profile پرشین تم - 08 آبان 1403 - 11:02 دانلود مقاله

اغلب اوقات، عملگرها و توابع به طور خودکار مقادیر داده شده به آنها را به نوع مناسب تبدیل می کنند. به عنوان مثال، هشدار به طور خودکار هر مقدار را به رشته ای تبدیل می کند تا آن را نشان دهد. عملیات ریاضی مقادیر را به اعداد تبدیل می کند.

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

همچنین مواردی وجود دارد که ما نیاز به تبدیل صریح یک مقدار به نوع مورد انتظار داریم.

 

تبدیل رشته

تبدیل رشته زمانی اتفاق می‌افتد که به شکل رشته‌ای یک مقدار نیاز داشته باشیم.

به عنوان مثال، alert(value) این کار را برای نشان دادن مقدار انجام می دهد.

همچنین می‌توانیم تابع String(value) را برای تبدیل یک مقدار به رشته فراخوانی کنیم:

let value = true;

alert(typeof value); // boolean

boolean value = String(value); // now value is a string "true"

alert(typeof value); // string

 

تبدیل رشته بیشتر واضح است. یک false تبدیل به "false" ،  و یک null تبدیل به "null" و غیره می شود.

 

تبدیل عددی

تبدیل عددی در توابع و عبارات ریاضی به طور خودکار اتفاق می افتد.

به عنوان مثال، وقتی تقسیم / به غیر اعداد اعمال می شود:

alert( "6" / "2" ); // 3, strings are converted to numbers

 

ما می توانیم از تابع Number(value) برای تبدیل صریح یک مقدار به عدد استفاده کنیم:

let str = "123"; 
alert(typeof str); // string 
let num = Number(str); // becomes a number 123 
alert(typeof num); // number

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

اگر رشته یک عدد معتبر نباشد، نتیجه چنین تبدیلی NaN است. به عنوان مثال:

let age = Number("an arbitrary string instead of a number"); 
alert(age); // NaN, conversion failed

 

قوانین تبدیل عددی:

مقدار خروجی
undefined NaN
null 0
true and false 1 OR 0
string فضاهای سفید (شامل فضاها، تب \t، خطوط جدید \n و غیره) از ابتدا و انتها حذف می شوند. اگر رشته باقی مانده خالی باشد، نتیجه 0 است. در غیر این صورت، عدد از رشته "خوانده می شود". و در صورت عدم امکان تبدیل یک خطا NaN می دهد.

 

مثال:

alert( Number(" 123 ") ); // 123 
alert( Number("123z") ); // NaN (error reading a number at "z") 
alert( Number(true) ); // 1 
alert( Number(false) ); // 0

لطفاً توجه داشته باشید که null و undefined در اینجا رفتار متفاوتی دارند: null صفر می شود در حالی که undefined تبدیل به NaN می شود.

 

تبدیل بولی

تبدیل بولی ساده ترین روش است.

این در عملیات منطقی اتفاق می‌افتد (بعداً با آزمایش‌های شرط و موارد مشابه دیگر روبرو خواهیم شد) اما می‌تواند به طور صریح با فراخوانی Boolean (value) نیز انجام شود.

قانون تبدیل:

  • مقادیری که به طور مستقیم "تهی" هستند، مانند 0، یک رشته خالی، null، undefined و NaN، به false تبدیل می شوند.
  • مقادیر دیگر true می شوند.

به عنوان مثال:

alert( Boolean(1) ); // true 
alert( Boolean(0) ); // false 
alert( Boolean("hello") ); // true 
alert( Boolean("") ); // false

 

لطفا توجه داشته باشید: رشته با صفر "0" درست است
برخی از زبان ها (مثلا PHP) "0" را نادرست می دانند. اما در جاوا اسکریپت، یک رشته غیر خالی همیشه درست است.

 

 

alert( Boolean("0") ); // true 
alert( Boolean(" ") ); // spaces, also true (any non-empty string is true)
با خرید اشتراک می توانید تا چندین برابر مبلغ خرید اشتراک خود قالب های HTML ، سورس کدهای آماده و یا مقالات دانلود کنید
شما می توانید تنها فقط با مبلغ 3,000,000 میلیون تومان وب سایت سفارسی برای خود داشته باشید
محبوب ترین مقالات
تفاوت بین CSS و SCSS چیست؟ تفاوت بین CSS و SCSS چیست؟
category برنامه نویسی 07 اسفند 1402
تفاوت بین RDBMS و DBMS تفاوت بین RDBMS و DBMS
category برنامه نویسی 02 فروردین 1403
کاوش در معماری GPT-3 کاوش در معماری GPT-3
category هوش مصنوعی 12 اسفند 1402
کلمات کلیدی در SQL کلمات کلیدی در SQL
category برنامه نویسی 01 خرداد 1403
تفاوت بین CSS، SASS و SCSS چیست؟ تفاوت بین CSS، SASS و SCSS چیست؟
category برنامه نویسی 13 اسفند 1402
انواع Join در SQL انواع Join در SQL
category برنامه نویسی 02 فروردین 1403
ChatGPT چیست؟ ChatGPT چیست؟
category هوش مصنوعی 12 اسفند 1402
آخرین مقالات
آموزش معماری Bloc در فلاتر آموزش معماری Bloc در فلاتر معماری BLoC (مخفف Business Logic Component) یکی از محبوب‌ترین معماری‌ها در فلاتر برای مدیریت وضعیت (state management) ...
category برنامه نویسی 09 مهر 1404
میکروسرویس چیست؟ مثال عملی در Asp Core میکروسرویس چیست؟ مثال عملی در Asp Core میکروسرویس‌ها (Microservices) یک سبک معماری نرم‌افزاری هستند که در آن سیستم بزرگ به مجموعه‌ای از سرویس‌های کوچک، مستقل...
category برنامه نویسی 09 مهر 1404
Redis چیست؟ آموزش استفاده از آن در asp core Redis چیست؟ آموزش استفاده از آن در asp core Redis یک مخزن داده با عملکرد بالا و کلید-مقدار در حافظه است که اغلب برای ذخیره‌سازی موقت (caching)، مدیریت جلسه (sessi...
category برنامه نویسی 27 شهریور 1404