Typescript یک زبان برنامهنویسی اوپن سورس میباشد که برای اپلیکیشنهای بزرگ بسیار مناسب میباشد. اساسا به دلیل اینکه مدیریت و هندلینگ کدهای جاوا اسکریپت در پروژههای بزرگ، بسیار پیچیده میشد، این زبان در سال ۲۰۱۲ توسط مایکروسافت توسعه یافته است. در این مقاله به بررسی تفاوت های JavaScript و TypeScript میپردازیم.
اساسا، کدهای جاوا اسکریپت شما، در تایپ اسکریپت نیز معتبر میباشد. به این معنی که Typescript یک زیرمجموعه از Javascript است _ یا :
جاوا اسکریپت + ویژگیهای بیشتر = تایپ اسکریپت.
بنابراین، اگر فایل جاوا اسکریپت (.js) را با پسوند تایپ اسکریپت (.ts) ذخیره کنید، همه چیز بدرستی کار خواهد کرد اما به این معنی نیست که Typescript و JavaScript یک چیز هستند. قبل از اینکه به بررسی تفاوتهای این دو زبان مشغول شویم، اجازه دهید تا با آنها بیشتر آشنا شویم!
جاوا اسکریپت یکی از محبوبترین تکنولوژیهای اساسی برای وب میباشد. از همان ابتدا، با داینامیک و interactive کردن وب اپلیکیشنها، یکی از بخشهای بسیار مهم آنها بوده است. یک زبان برنامهنویسی سطح بالا است و دارای کامپایلر JIT مخفف (Just-in-Time) و ویژگی تایپ داینامیک میباشد.
برای مدت زیادی، JS فقط در کلاینت ساید پیاده سازی میشد و یک زبان فرانت اند بود. اما برخی از موتورهای جدید جاوا اسکریپت، در سمت سرور نیز پیاده میشوند. سینتکس JavaScript بسیار شبیه زبان جاوا است و کتابخانههای استاندارد بسیار زیادی دارد. برای شروع به برنامه نویسی وب، بدون شک جاوا اسکریپت بهترین زبان برای یادگیری میباشد. (دوره آنلاین و رایگان اموزش جاوا اسکریپت کدفرند – بروز رسانی اسفند ماه)
زبان جاوا اسکریپت توسط Netscape در همکاری با Sun Microsystems توسعه داده شده است. برخی از ویژگیهای بینظیر و یکتای Javascript به شرح زیر میباشد:
در ادامه بررسی تفاوت JavaScript و TypeScript ، به آشنایی با تایپ اسکریپت میپردازیم. هدف Typescript هیچ تفاوتی با جاوا اسکریپت ندارد اما در پروژههای بزرگ و large-scale استفاده میشود. تایپ اسکریپت به روش trans compiles یعنی کامپایلینگ سورس به سورس، به جاوا اسکریپت کامپایل میشود. از ساختار برنامه نویسی شی گرا پیروی میکند و از ویژگیهای OOP مانند کلاسها، اینترفیس، namespace ها و وراثت پشتیبانی میکند. استاتیک تایپینگ در تایپ اسکریپت، مانند (numbers، string و boolean) امکان پذیر است. برای مثال:
همانطور که در بالا مشاهده کردیم، TypeScript به روش “strongly typed” نوشته میشود که همین مورد دیباگ کردن آنرا بهتر میکند و این برای کدنویسی پروژههای بزرگ بسیار کارآمدتر است. برنامه تایپ اسکریپت معمولا از اجزایی همچون ماژولها، توابع، متغیرها، کامنتها، عبارات و … تشکیل میشود _ مانند هر زبان برنامه نویسی بالغ دیگر. برخی از ویژگیهای برجسته TypeScript به شرح زیر است:
قبل از بررسی تفاوتهای این دو زبان، یک سوال بسیار مهم که باید پاسخ داده شود! از آنجایی که تایپ اسکریپت سوپرست جاوا اسکریپت است، آیا همیشه باید از تایپ اسکریپت استفاه کنیم؟ آیا سوپرست بودن TypeScript، آنرا برای هر پروژهای مناسب میکند؟
خیر
TypeScript به هیچ عنوان با جاوا اسکریپت جایگزین نمیشود و یا آنرا منسوخ نمیکند. جاوا اسکریپت هنوز هم پرطرفدارترین زبان برنامه نویسی فرانت-اند وب است و بدون شک برای مدت طولانی نیز این شکلی خواهد ماند. در پروژههای کوچکتر، استفاده از تایپ اسکریپت میتواند زمان زیادی را بگیرد چراکه کد تایپ اسکریپت باید به جاوا اسکریپت کامپایل شود و این یک مرحله اضافی در پروژههای کوچک است.
JavaScript بطور مستقیم در مرورگر اجرا میشود؛ بنابراین برای کدهای کوچک، رفرش کردن و دیباگ کردن کد بسیار راحتتر است. درحالی که برای تایپ اسکریپت به یک IDE و ستاپ مناسب جهت اجرا شدن نیازمندیم.
زمانی که کد بزرگ شده و هندل کردن آن پیچیده میشود، بهتر است پروژه را به تایپ اسکریپت منتقل کنید تا از ویژگیهای آن بهرمند شوید.
اکنون که با ویژگیهای اساسی و هدف زبانهای JavaScript و TypeScript آشنا شدیم، میخواهیم با برخی از تفاوتهای سطح پائین این دو تکنولوژی نیز آشنا شویم.
function multiply (a, b) { return a*b; } var result = multiply(a, b); console.log(‘The answer is - ’ + result);
function multiply (a, b) { return a*b; } var result = multiply(a, b); (‘The answer is – ’ + result);