Syntax پایه زبان برنامه نویسی TypeScript
Syntax یا قواعد نحوی دستورات زبان برنامه نویسی TypeScript مجموعه ای از قوانین را برای نوشتن کدهای برنامه تعریف می کند. هر زبان برنامه نویسی که ایجاد می شود، سینتکس مخصوص به خودش را دارد. یک برنامه TypeScript از بخش های زیر تشکیل شده است:
- ماژول ها (Modules)
- توابع (Functions)
- متغیرها (Variables)
- دستورات و عبارت ها (Statements and Expressions)
- کامنت ها (Comments)
مثال ساده TypeScript
در زیر یک مثال ساده مربوط به برنامه Hello World! را مشاهده می کنید:
1 2 | var message:string = "Hello World!" console.log(message) |
زمانی که این برنامه کامپایل شود، کد جاوا اسکریپتی زیر را تولید خواهد کرد:
1 2 3 | //Generated by typescript 1.8.10 var message = "Hello World"; console.log(message); |
جزئیات
- خط اول: یک متغیر با نام message و نوع string اعلان می کند. متغیرها در برنامه نویسی مکانیزمی برای نگه داری مقادیر هستند.
- خط دوم: مقدار ذخیره شده در متغیر message را بر روی کنسول چاپ می کند. تابع مشهور log() به منظور چاپ مقادیر بر روی صفحه استفاده می شود.
کامپایل و اجرای یک برنامه TypeScript
برای کامپایل و اجرای برنامه نوشته شده با زبان برنامه نویسی TypeScript در نرم افزار Visual Studio Code مراحل زیر را دنبال کنید:
مرحله 1: کد نوشته شده را با پسوند .ts ذخیره کنید.
مرحله 2: سپس در فایل های پروژه بر روی فایل ذخیره شده کلیک راست کرده و گزینه Open in Command Prompt را انتخاب کنید.
مرحله 3: برای کامپایل کردن برنامه از دستور زیر رد صفحه باز شده استفاده کنید:
1 | tsc Test.ts |
مرحله 4: بعد از کامپایل شدن برنامه یک فایل جدید با نام Test.js تولید خواهد شد. برای اجرا کردن برنامه از دستور زیر استفاده کنید:
1 | node Test.js |
Flag های کامپایلر
Flag های کامپایلر به شما اجازه می دهد تا رفتار کامپایلر را در طول کامپایلر کردن برنامه تغییر دهید. در زیر می توانید برخی از flag های رایج مربوط به کامپایلر TSC را مشاهده کنید:
ردیف | Flag و توضیحات |
1 | – -help راهنما را نمایش می دهد. |
2 | – -module ماژول های خارجی را لود می کند. |
3 | – -target نسخه ECMA مورد نظر را تنظیم کنید. |
4 | – -declaration یک فایل d.ts دیگر را تولید می کند. |
5 | – -removeComments کامنت های موجود را از فایل نهایی حذف می کند. |
6 | – -out چند فایل را در یک فایل کامپایل می کند. مانند نمونه زیر: tsc file1.ts, file2.ts, file3.ts |
7 | – -sourcemap یک فایل sourcemap با پسوند (.map) ایجاد می کند. |
8 | – -module noImplicitAny کامپایلر را از تشخیص خودکار نوع متغیر باز می دارد. |
9 | – -watch تغییرات فایل ها را زیر نظر می گیرد و در صورت تغییر آن ها را دوباره بر روی fly کامپایل می کند. |
شناسه ها (Identifiers) در TypeScript
شناسه نامی است که در برنامه به متغیرها، توابع و غیره داده می شود. قوانین مربوط به شناسه در زبان برنامه نویسی TypeScript:
- می تواند شامل حروف و اعداد باشد. اما نمی تواند با عدد شروع شود.
- نمی تواند شامل کاراکترهای خاصل به جز خط زیر (_) و $ باشد.
- نمی تواند هم نام با یک کلمه کلیدی باشد.
- باید منحصر به فرد باشد. یعنی شناسه دیگری قبلا با این نام تعریف نشده باشد.
- حساس به حروف است.
- نمی تواند شامل کاراکتر فضای خالی (Space) باشد.
در جدول زیر می توانید چند نمونه از شناسه های معتبر و نامعتبر را مشاهده کنید:
شناسه های متعبر | شناسه های نامعتبر |
firstName | Var |
first_name | first name |
num1 | first-name |
$result | 1number |
کلمات کلیدی در TypeScript
در یک زبان برنامه نویسی کلمات کلیدی مفهوم خاصی دارند. در زیر می توانید برخی از کلمات کلیدی موجود در زبان برنامه نویسی TypeScript را مشاهده کنید:
break | as | any | switch |
case | if | throw | else |
var | number | string | get |
module | type | instanceof | typeof |
public | private | enum | export |
finally | for | while | void |
null | super | this | new |
in | return | true | false |
any | extends | static | let |
package | implements | interface | function |
new | try | yield | const |
continue | do | catch |
فضای خالی و خط جدید
TypeScript فضاهای خالی، تب ها، خط های جدید موجود در برنامه را نادیده می گیرد. بنابراین شما می توانید به طور آزادانه از آن ها استفاده کنید.
TypeScript حساس به حروف است
به این معنی که نام ها م شناسه هایی که با حروف بزرگ نوشته می شوند، با آن هایی که با حروف کوچک نوشته می شوند، تفاوت دارند. برای مثال Name با name متفاوت است.
Semicolon ها (;) اختیاری هستند
اما برای نوشتن چند دستور در یک خط، باید آن ها را با استفاده از ; از هم جدا کنید.
کامنت گذاری در TypeScript
کامنت گذاری یک راه برای افزایش خوانایی کدهای برنامه است. کامنت ها می توانند برای اضافه کردن اطلاعات بیشتر (مانند نویسنده کد، توضیحات توابع، کلاس و غیره) استفاده شوند. کامنت ها توسط کامپایلر نادیده گرفته می شوند.
در زبان برنامه نویسی TypeScript دو روش برای کامنت گذاری وجود دارد:
- کامنت تک خطی (//): هر چیزی که بعد از این علامت قرار گیرد به عنوان کامنت در نظر گرفته می شود.
- کامنت چند خطی (/* */): هر چیزی که در بین این دو علامت قرار گیرد به عنوان کامنت در نظر گرفته می شود.
مثال:
1 | //this is single line comment /* This is a Multi-line comment */ |
TypeScript و شیء گرایی
TypeScript جاوا اسکریپت شیء گرا شده است. OOP یا برنامه نویسی شیء گرا یک پارادایم برنامه نویسی است که مدل سازی از روی دنیای واقعی را دنبال می کند. در برنامه نویسی شیء گرا یک برنامه به صورت مجموعه ای از اشیاء در نظر گرفته می شود که با استفاده از مکانیزمی به نام method با یک دیگر ارتباط برقرار می کنند. زبان برنامه نویسی تایپ اسکریپت نیز از اجرای برنامه نویسی شیء گرا پشتیبانی می کند.
- شیء Object)) : هر شی یک نمایش واقعی از هر موجودیت است. بر اساس گفته های Grady Booch، هر شیء باید سه ویژگی زیر را داشته باشد:
- وضعیت (State) : توسط خاصیت های یک شیء توضیف می شود.
- رفتار (Behavior) : چگونگی عملکرد یک شیء را توصیف می کند.
- شناسه (Identity) : یک مقدار منحصر به فرد که یک شیء را در بین مجموعه از اشیای مشابه، متمایز می کند.
- کلاس (Class) : یک کلاس از نظر OOP یک طرح برای ایجاد اشیاء است. یک کلاس اطلاعات را برای شیء نگهداری می کند.
- متد (Method) : متدها ارتباطات بین اشیا را آسان می کنند.
مثال:
1 | class Greeting { greet():void { console.log("Hello World!!!") } } var obj = new Greeting(); obj.greet(); |
در مثال فوق ما یک کلاس با نام Greeting را تعریف کرده ایم که یک متد با نام greet را دارد. این متد مقدار “Hello World!!!” را در خروجی چاپ می کند. کلمه کلیدی new یک شیء جدید از کلاس Greeting ایجاد می کند. در خط آخر متد greet مربوط به کلاس Greeting فراخوانی شده است.
زمانی که کد فوق کامپایل شود، خروجی زیر را تولید خواهید کرد:
1 | //Generated by typescript 1.8.10var Greeting = (function () { function Greeting() { } Greeting.prototype.greet = function () { console.log("Hello World!!!"); }; return Greeting;}()); var obj = new Greeting();obj.greet() |
خروجی برنامه فوق:
1 | Hello World!!! |
هیچ نظری ثبت نشده است