عملگرها در زبان برنامه نویسی TypeScript
عملگر چیست؟
عملگر (Operator) یکسری عملیاتی را تعریف می کند که بر روی داده ها اعمال می شود. داده ای که عملگر بر روی آن کاری انجام می دهد، عملوند (Operand) نامیده می شود. عبارت زیر را در نظر بگیرد:
1 | 7 + 5 = 12 |
در عبارت فوق مقادیر 7، 5 و 12 نقش عملوند و علامت + و = نقش عملگر را دارند. عملگرهای اصلی در زبان TypeScript به صورت زیر دسته بندی می شوند:
- عملگرهای ریاضی (Arithmetic)
- عملگرهای منطقی (Logical)
- عملگرهای رابطه ای (Relational)
- عملگرهای بیتی (Bitwise)
- عملگرهای انتساب (Assignment)
- عملگر سه گانه یا شرطی (Ternary/conditional)
- عملگر رشته (String)
- عملگر نوع (Type)
عملگرهای ریاضی
فرض کنید مقدار متغیرهای a و b به ترتیب 10 و 5 است.
عملگر | توضیحات | مثال |
+ (جمع) | جمع مقادیر عملوندها را باز میگرداند. | a + b نتیجه 15 |
– (تفریق) | تفریق مقادیر عملوندها را باز میگرداند | a – b نتیجه 5 |
* (ضرب) | نتیجه ضرب مقادیر عملوندها را باز میگرداند. | a * b نتیجه 50 |
/ (تقسیم) | عمل تقسیم را انجام داده و نتیجه را باز میگرداند. | a / b نتیجه 2 |
% (باقی مانده) | عمل تقسیم را انجام داده و باقی مانده را باز میگرداند. | a % b نتیجه 0 |
++ (افزایش) | مقدار متغیر را یک واحد افزایش می دهد. | a++ نتیجه 11 |
— (کاهش) | مقدار متغیر را یک واحد کاهش می دهد. | a– نتیجه 9 |
عملگرهای رابطه ای
عملگرهای رابطه ای یک مقدار بولی یعنی true/false باز میگردانند. فرض کنید مقدار A و B به ترتیب 10 و 20 است.
عملگر | توضیحات | مثال |
> | بزرگتر از | (A > B) is False |
< | کوچکتر از | (A < B) is True |
>= | بزرگتر یا مساوی | (A >= B) is False |
<= | کوچکتر یا مساوی | (A <= B) is True |
== | مساوی | (A == B) is false |
!= | نامساوی | (A != B) is True |
عملگرهای منطقی
عملگرهای منطقی برای ترکیب دو یا چند شرط مورد استفاده قرار میگرند. این عملگرها یک مقدار بولی را به عنوان خروجی باز میگردانند. فرض کنید مقدار A و B به ترتیب 10 و 20 است.
مقدار | توضیحات | مثال |
&& (And) | این عملگر زمانی که تمام عبارت شرطی مقدار true داشته باشند، true باز میگرداند. | (A > 10 && B > 10) is False |
|| (OR) | این عملگر زمانی که فقط یکی از عبارت شرطی true باشد، مقدار true باز میگرداند. | (A > 10 || B >10) is True |
! (NOT) | این عملگر نتیجه یک عبارت شرطی را برعکس می کند. یعنی اگر true باشد، falseو اگر false باشد true باز میگرداند. | !(A >10 ) is True |
عملگرهای بیتی
فرض کنید مقدار A و B به ترتیب 2 و 3 است.
عملگر | توضیحات | مثال |
& (Bitwise AND) | این عملگر یک عمل بولی AND را بر روی هر آرگومان از عدد صحیح انجام می دهد. | (A & B) is 2 |
| (BitWise OR) | این عملگر یک عمل بولی OR را بر روی هر آرگومان از عدد صحیح انجام می دهد. | (A | B) is 3 |
^ (Bitwise XOR) | این عملگر یک عمل بولی XOR (یای انحصاری) را بر روی هر آرگومان از عدد صحیح انجام می دهد. | (A ^ B) is 1 |
~ (Bitwise Not) | یک عملگر یگانی است و تمام بیت های عملوند را برعکس می کند. | (~B) is -4 |
<< (Left Shift) | این عملگرهای تمام بیت های عملوند اول را به تعداد خانه های مشخص شده به سمت چپ انتقال می دهد. بیت های جدید با صفر پر می شوند. | (A << 1) is 4 |
>> (Right Shift) | این عملگرهای تمام بیت های عملوند اول را به تعداد خانه های مشخص شده به سمت راست انتقال می دهد. | (A >> 1) is 1 |
>>> (Right shift with Zero) | مشابه عملگر بالاست با این تفاوت که بیت هایی که به سمت چپ انتقال می یابند، همیشه صفر هستند. | (A >>> 1) is 1 |
عملگرهای انتساب
عملگر | توضیحات | مثال |
= | مقدار عملوند سمت راست را در عملوند سمت چپ قرار می دهد. | C = A + B نتیجه جمع دو متغیر A و B را در متغیر C قرار می دهد. |
+= | مقدار عملوند سمت راست را با مقدار عملوند سمت چپ جمع کرده و نتیجه را در عملوند سمت چپ قرار می دهد. | C += A معادل C = C + A |
-= | مقدار عملوند سمت راست را با مقدار عملوند سمت چپ کم کرده و نتیجه را در عملوند سمت چپ قرار می دهد. | C -= A معادل C = C – A |
*= | مقدار عملوند سمت راست را با مقدار عملوند سمت چپ ضرب کرده و نتیجه را در عملوند سمت چپ قرار می دهد. | C *= A معادل C = C * A |
/= | مقدار عملوند سمت چپ را بر مقدار عملوند سمت راست تقسیم کرده و نتیجه را در عملوند سمت چپ قرار می دهد. | C /= A معادل C = C / A |
%= | مقدار دو عملوند را بر هم تقسیم کرده و باقیمانده را در عملوند سمت چپ قرار می دهد. | C %= A معادل C = C % A |
<<= | عملگر انتساب شیفت به چپ | C <<= 2 معادل C = C << 2 |
>>= | عملگر انتساب شیفت به راست | C >>= 2 معادل C = C >> 2 |
&= | عملگر AND بیتی | C &= 2 معادل C = C & 2 |
^= | عملگر انتساب exclusive OR بیتی | C ^= 2 معادل C = C ^ 2 |
|= | عملگر انتساب inclusive OR بیتی | C |= 2 معادل C = C | 2 |
عملگرهای متفرقه
عملگر منفی (-)
علامت یک مقدار را تغییر می دهد. به مثال زیر توجه کنید:
1 2 3 4 | var x:number = 4 var y = -x; console.log("value of x: ",x); //outputs 4 console.log("value of y: ",y); //outputs -4 |
زمانی که کد فوق کامپایل شود، کد جاوا اسکریپت زیر تولید خواهد شد:
1 2 3 4 5 | //Generated by typescript 1.8.10 var x = 4; var y = -x; console.log("value of x: ", x); //outputs 4 console.log("value of y: ", y); //outputs -4 |
خروجی برنامه بالا:
1 2 | value of x: 4 value of y: -4 |
عملگر الحاق رشته (+)
این عملگر برای چسباندن دو رشته به هم استفاده می شود. برای فهم بهتر به مثال زیر توجه کنید:
1 2 | var msg:string = "hello"+"world" console.log(msg) |
کد تولید شده بعد از کامپایل:
1 2 3 | //Generated by typescript 1.8.10 var msg = "hello" + "world"; console.log(msg); |
خروجی برنامه بالا:
1 | helloworld |
عملگر شرطی (?)
این عملگر برای نمایش یک عبارت شرطی مورد استفاده قرار می گیرد. ممکن است در بعضی از منابع این عملگر با نام عملگر سه گانه معرفی شده باشد. سینتکس استفاده از این عملگر را در زیر مشاهده می کنید:
1 | Test ? expr1 : expr2 |
- Test عبارت شرطی است.
- اگر مقدار شرط true باشد، expr1 بازگشت داده می شود.
- اگر مقدار شرط false باشد، expr2 بازگشت داده می شود.
به مثال زیر توجه کنید:
1 2 3 | var num:number = -2 var result = num > 0 ? "positive" : "non-positive" console.log(result) |
خط دوم بررسی می کند که آیا مقدار متغیر num بزرگتر از 0 است یا خیر. اگر بزرگتر از 0 بود، عبارت “positive” و در غیر این صورت “non-positive” بازگشت داده می شود. کد کامپایل شده بالا:
1 2 3 4 | //Generated by typescript 1.8.10 var num = -2; var result = num > 0 ? "positive" : "non-positive"; console.log(result); |
خروجی برنامه:
1 | non-positive |
عملگر typeof
این یک عملگر یگانی است و نوع داده عملوند را باز میگرداند. به مثال زیر توجه کنید:
1 2 | var num = 12 console.log(typeof num); //output: number |
کد کامپایل شده:
1 2 3 | //Generated by typescript 1.8.10 var num = 12; console.log(typeof num); //output: number |
خروجی برنامه:
1 | number |
عملگر instanceof
این عملگر برای بررسی اینکه یک شیء از نوع داده مشخص شده است یا خیر استفاده می شود. این عملگر را در بخش مربوط به کلاس ها بیشتر توضیح خواهیم داد.
هیچ نظری ثبت نشده است