فهرست سرفصل‌های TypeScript
خانه (Home) معرفی (Introduction) شروع سریع (Get Started) انواع ساده (Simple Types) تعریف صریح و استنتاج نوع (Explicit & Inference) انواع ویژه (Special Types) آرایه ها (Arrays) تاپل ها (Tuples) انواع شیء (Object Types) شمارشی ها (Enums) نام مستعار و اینترفیس ها (Aliases & Interfaces) انواع اتحادی (Union Types) توابع (Functions) تبدیل نوع (Casting) کلاس ها (Classes) جنریک های پایه (Basic Generics) انواع کاربردی (Utility Types) کلیدواژه keyof (Keyof) Null (Null) Definitely Typed (Definitely Typed) به روزرسانی های نسخه 5 (5 Updates) پیکربندی (Configuration) با Node.js (with Node.js) با React (with React) ابزارها (Tooling) انواع پیشرفته (Advanced Types) نگهبان های نوع (Type Guards) انواع شرطی (Conditional Types) انواع نگاشتی (Mapped Types) استنتاج نوع (Type Inference) انواع لیترال (Literal Types) فضای نام (Namespaces) امضاهای ایندکس (Index Signatures) ادغام اعلان ها (Declaration Merging) برنامه نویسی ناهمگام (Async Programming) دکوراتورها (Decorators) در پروژه های JS (in JS Projects) مهاجرت (Migration) مدیریت خطا (Error Handling) بهترین شیوه ها (Best Practices) ادیتور (Editor) تمرین ها (Exercises) آزمون (Quiz) سرفصل دوره (Syllabus) برنامه مطالعه (Study Plan) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
TypeScript

TypeScript — تبدیل نوع (Casting)

آخرین بروزرسانی: 1404/08/14

تبدیل نوع (Casting)

«تبدیل نوع (Casting)» یعنی به تایپ اسکریپت بگوییم نوع را نادیده بگیر. گاهی کتابخانه ها نوع اشتباه می دهند. بنابراین، ما نوع متغیر را موقتاً عوض می کنیم. دقت کن، داده واقعاً تغییر نمی کند.

تبدیل با as

با کلیدواژه as نوع را برای استفاده بعدی مشخص می کنیم.

let x: unknown = 'hello';
console.log((x as string).length);

مشاهده در ادیتور

هشدار: تبدیل، داده را تغییر نمی دهد. اگر x عدد باشد، length وجود ندارد.

let x: unknown = 4;
console.log((x as string).length);

مشاهده در ادیتور

تبدیل با <>

استفاده از <> مثل as است؛ اما در TSX کار نمی کند.

let x: unknown = 'hello';
console.log((<string>x).length);

مشاهده در ادیتور

نکته: در فایل های React/TSX فقط از as استفاده کن.

تبدیل اجباری (Force casting)

اگر خطای تبدیل داری، اول به unknown و سپس به نوع هدف تبدیل کن.

let x = 'hello';
console.log(((x as unknown) as number).length);

مشاهده در ادیتور

اشتباه های رایج

تبدیل «رشته» به «عدد» بدون تبدیل واقعی اشتباه است. اول داده را واقعاً تبدیل کن.

console.log((4 as string).length);

مشاهده در ادیتور

گام های عملی

  1. اول نوع واقعی داده را بررسی کن.
  2. در TSX از as استفاده کن.
  3. برای دورزدن خطا، از الگوی unknown → هدف برو.

برای پارامترها به توابع سر بزن. برای ترکیب انواع به انواع اتحادی مراجعه کن. همین صفحه تبدیل نوع را مرجع نگه دار.

جمع بندی سریع

  • as ساده و رایج است.
  • <> در TSX کار نمی کند.
  • داده با تبدیل عوض نمی شود.
  • Force cast را با احتیاط استفاده کن.
  • اول نوع واقعی را چک کن.