اینها دو روش تبدیل نوع داده توی جاوااسکریپت هستن.
Implicit Coercion یا ضمنی
توی این روش برای تبدیل نوع داده لازم نیست کار خاصی انجام بدیم:
console.log(1 + '6'); // 16 (type of string) console.log(false + true); // 1 (type of number) console.log(6 * '2'); // 12 (type of number)
توی مثال اول، عدد 1 ابتدا تبدیل به رشته میشه و بعد به یک رشته با مقدار 6 میچسبه. دقت کنین اینجا محاسبه ریاضی انجام نشد. بلکه با 1 مثل رشته رفتار شد. ما اینجا برای تبدیل نوع هیچ کار خاصی انجام ندادیم و جاوااسکریپت بصورت خودکار اینکار رو برای ما انجام داد. هرچند توی بعضی از زبانها ممکنه خطا بگیریم.
توی مثال دوم هم خروجی از نوع number خواهد بود با اینکه داریم دو بولین رو جمع میکنیم.
توی مثال سوم قبل از اینکه عمل ضرب انجام بشه، رشتهی با مقدار 2 تبدیل میشه به عدد. که باعث میشه خروجی ۱۲ و از نوع number بشه.
Explicit Coercion یا صریح
توی این روش باید بطور صریح خودمون تبدیل نوع رو انجام بدیم:
console.log(1 + parseInt('6'));
ما خودمون بطور صریح رشته با مقدار 6 رو به عدد تبدیل کردیم که باعث شد خروجی 7 بشه.
رو ببینید خیلی بدردتون میخوره :)
منبع: