مزیت Typescript نسبت به javascript

با سلام و عرض ادب خدمت دوستان و اساتید عزیز

مزیت تایپ اسکریپت نسبت به جاوا اسکریپت چیه؟ چرا باید بجای جاوا اسکریپت از تایپ اسکریپت استفاده کنیم.

تایپ اسکریپت چه باری رو از روش دوش ما برمیداره؟ (بجز خروجی که در همه جا کار کنه).

ممنون میشم توضیح کامل بدید و بگید آیا ارزش وقت گذاشتن داره؟

توی سایت مربوط خودش نوشته تایپ اسکریپت در ۵ دقیقه!!! و اولین مثالی که زده بود رو دیدم و هیچ تفاوتی با جاوا اسکریپت نداشت.

تایپ اسکریپت مزیتش نسبت به جاواسکریپت تایپ ستاتیک داشتن و کامپایل شدن هستش TS مثل csharp و جاوا تایپ هاش ستاتیک که باعث میشه کلی از خطا ها و عملکرد های عجیب جاواسکریپت از بین بره و در زمان کامپایل شدن این خطا ها رو بگیره

function Greeter(greeting: string) {
    this.greeting = greeting;
}

اینجا تایپ argument نوشته میشه و هر چیز به غیر از string اگه موقع فراخوانی استفاده بشه کد کامپایل نمیشه

4 Likes

بسیار عالی.
وقتی همین کد رو کامپایل کنیم کد بصورت زیر در میاد.

function Greeter(greeting) {
    this.greeting = greeting;
}

خب در اینجا اگر تایپ آرگومنت هم فرق کنه باز تفاوتی نمیکنه!

و یه نکته دیگه آیا تایپ اسکریپت در مرورگر اول کامپایل میشه و بعد اجرا میشه یا به همون صورت تایپ اسکریپتی اجرا میشه ؟

بله خب ts به جاواسکریپت تبدیل میشه وjs هیچ تایپی نداره ولی استفاده از ts باعث میشه کد تولید شده از نظر منطق تایپی صحیح باشه با اینکه کد آخر خودش درکی از تایپ نداره
مثل اینکه شما کد با زبان بالا تر انجام میدی و در نهایت به binary تبدیل کنی binary از ابجکت ها و … خبری نداره

1 Like

سلام
شما وقتی دارید کد میزنید همش در تایپ اسکریپت هست و وقتی از لحاظ تایپ مشکلی داشته باشه از طرف تایپ اسکریپت خطا گرفته میشه.

پس در اینجا دیگه کل کد کامپایل شده و مشکلی نبوده.

2 Likes

پس میشه گفت تایپ اسکریپت یه ابزار/زبان/چارچوب جاوااسکریپتیه که به ما کمک میکنه کدهای جاوا اسکریپتی که مینویسیم درست باشه.

بله متوجه شدم.
میشه گفت یه نوع تستر هست. تست میکنه اگه کدهات درست بود بهت خروجی js میده.

میشه اینطورمی نگاه کرد اما TS یک زبان کامل به خودی خودش که میتونه هدف کامپایل مختلف داشته باشه target
عمومی ترین جاوا سکریپته اما پروژه های هست که target llvm و غیره داره

3 Likes

چهار چوب نه، اما بهتره بگیم که یک js با تایپ سیستم بسیار بهتر هست.
میتونید توی لینک زیر تست کنید

https://www.typescriptlang.org/play/

3 Likes

طبق تعریف سازنده، TypeScript یک Superset برای JavaScript محسوب می شه. در این حالت، یعنی کد نوشته شده در Superset، به زبان سطح پایین تر (JavaScript در اینجا) تبدیل می شود. همونطور که همه دوستان هم اشاره کردن.
اولین مزیت، استفاده از Typing که باعث می شه خطاهای زمان کامپایل کم بشه.
در رابطه با ایجاد کدی که همه جا کار بده، واقعا مزیت محسوب نمی شه چون ابزارهای مثل Babel می شه به این هدف رسید.

3 Likes

giphy