تبدیل نوع داده در جاوااسکریپت
خوش اومدین به سی و ششمین جلسه از دوره آموزش جاوا اسکریپت. ما در جلسات قبلی با تبدیل نوع داده توی جاوا اسکریپت آشنا شدیم و توی این جلسه میخایم این موضوع رو بیشتر مورد بررسی قرار بدیم و با انواع مختلف این تبدیل ها
در جاوااسکریپت، شما میتوانید از عملیات تبدیل نوع (Type Conversion) برای تبدیل یک نوع داده به نوع دیگر استفاده کنید. در زیر چند روش برای تبدیل نوع دادهها در جاوااسکریپت آمده است:
تبدیل به رشته (String)
برای تبدیل یک مقدار به رشته، شما میتوانید از تابع toString()
استفاده کنید یا با استفاده از عملگر +
آن را به رشته تبدیل کنید. مثال:
let num = 10;
let str = num.toString();
// یا
let str = "" + num;
تبدیل به عدد (Number)
برای تبدیل رشته به عدد، میتوانید از توابع parseInt()
یا parseFloat()
استفاده کنید. مثال:
let str = "10";
let num = parseInt(str);
// یا
let num = parseFloat(str);
همچنین، با استفاده از عملگر +
نیز میتوانید رشته را به عدد تبدیل کنید. مثال:
let str = "10";
let num = +str;
تبدیل به بولین (Boolean)
برای تبدیل یک مقدار به بولین، میتوانید از تابع Boolean()
استفاده کنید. تابع Boolean()
مقادیر false
, 0
, ""
, null
, undefined
و NaN
را به false
تبدیل میکند و هر مقدار غیر صفر یا غیر خالی به true
تبدیل میشود. مثال:
let num = 0;
let bool = Boolean(num);
تبدیل به آرایه (Array)
برای تبدیل مقدارها به آرایه، شما میتوانید از تابع Array.from()
استفاده کنید. مثال:
let str = "Hello";
let arr = Array.from(str);
همچنین، با استفاده از عملگر split()
رشته را میتوانید به آرایه تبدیل کنید. مثال:
let str = "Hello";
let arr = str.split("");
این توابع و روشها فقط برخی از روشهای تبدیل نوع دادهها در جاوااسکریپت هستند و بستگی به نوع داده و نیاز خود، میتوانید از روشهای دیگر نیز استفاده کنید.
به علاوه، جاوااسکریپت به صورت خودکار تلاش میکند نوع داده را بهطور پیش فرض تبدیل کند. این عملیات شناخته شده به عنوان “ضربهپذیری نوع” (Type Coercion) نامیده میشود. در ضربهپذیری نوع، جاوااسکریپت سعی میکند نوع داده را به نوع دیگر تبدیل کند تا عملیاتهای مورد نیاز را انجام دهد. برخی مثالهای رایج ضربهپذیری نوع عبارتند از:
let num = 10;
let str = "20";
let result = num + str; // نتیجه: "1020" (رشته)
در این مثال، جاوااسکریپت نوع عددی متغیر num
را به نوع رشته تبدیل میکند و سپس عملگر جمع را انجام میدهد.
let bool = true;
let num = bool + 1; // نتیجه: 2 (عدد)
در این مثال، جاوااسکریپت نوع بولین متغیر bool
را به نوع عددی تبدیل میکند و سپس با عدد 1 جمع میکند.
توجه داشته باشید که ضربهپذیری نوع در برخی موارد ممکن است منجر به نتایج غیرمنتظره و پیچیده شود. بنابراین، بهتر است که بهطور صریح از عملیات تبدیل نوع استفاده کنید تا کنترل بهتری بر روی تبدیلات داشته باشید.
به جز روشهایی که قبلاً مطرح کردم، در جاوااسکریپت میتوانید از توابع دیگری برای تبدیل نوع دادهها استفاده کنید. برخی از این توابع عبارتند از:
String()
: این تابع برای تبدیل هر نوع دادهای به رشته استفاده میشود. مثال:
let num = 10;
let str = String(num);
Number()
: این تابع برای تبدیل هر نوع دادهای به عدد استفاده میشود. مثال:
let str = "10";
let num = Number(str);
توجه کنید که تابع Number()
مقادیر غیرقابل تبدیل را به NaN
تبدیل میکند.
parseInt()
: این تابع برای تبدیل رشته به عدد صحیح استفاده میشود. مثال:
let str = "10";
let num = parseInt(str);
parseFloat()
: این تابع برای تبدیل رشته به عدد اعشاری استفاده میشود. مثال:
let str = "3.14";
let num = parseFloat(str);
از این توابع میتوانید برای تبدیل نوع دادهها در جاوااسکریپت استفاده کنید. همچنین، توابع String()
, Number()
, parseInt()
و parseFloat()
همگی راههای سادهتری برای تبدیل نوع دادهها ارائه میدهند.