Type Conversion

1️⃣ تعریف Type Conversion
Type Conversion یا تبدیل نوع داده‌ها در جاوااسکریپت به معنی تغییر نوع یک مقدار به نوع دیگر است.

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

    1. Implicit (تلقایی / خودکار)

    2. Explicit (صریح / دستی)

2️⃣ تبدیل نوع خودکار (Implicit Conversion / Type Coercion)

  • جاوااسکریپت گاهی به طور خودکار نوع داده‌ها را تبدیل می‌کند تا عملیات انجام شود:

console.log("5" + 2); // "52" → عدد به رشته تبدیل شد console.log("5" - 2); // 3 → رشته به عدد تبدیل شد console.log("5" * "2"); // 10 → هر دو رشته به عدد تبدیل شدند console.log(true + 1); // 2 → true به عدد 1 تبدیل شد

3️⃣ تبدیل نوع صریح (Explicit Conversion / Type Casting)

  • با استفاده از توابع یا متدها می‌توان نوع داده را به صورت صریح تغییر داد:

تبدیلمثالتوضیح
تبدیل به رشتهString(123)"123"
تبدیل به عددNumber("456")456
تبدیل به BooleanBoolean(0)false

مثال‌ها:

let x = 100; console.log(String(x)); // "100" let y = "200"; console.log(Number(y)); // 200 console.log(Boolean("")); // false console.log(Boolean("Hello")); // true

4️⃣ تبدیل بین انواع متداول

نوع مبدانوع مقصدروش
Number → String"123"toString() یا String()
Boolean → Numbertrue → 1Number(true)
String → Number"42" → 42Number("42") یا parseInt("42")
String → Boolean"text" → trueBoolean("text")


5️⃣ نکات مهم

  • تبدیل خودکار ممکن است غیرمنتظره باشد، بنابراین استفاده از تبدیل صریح توصیه می‌شود.

  • مقادیر Falsy که به Boolean تبدیل می‌شوند: 0, "", null, undefined, NaN, false

  • بقیه مقادیر به Boolean → true

console.log(Boolean(1)); // true console.log(Boolean(0)); // false console.log(Boolean("Hello")); // true console.log(Boolean("")); // false
  • همیشه قبل از انجام عملیات ریاضی روی رشته‌ها، مطمئن شوید که نوع داده عدد است:

let a = "5"; let b = "10"; console.log(Number(a) + Number(b)); // 15