«عملگرها» (Operators) جزئی جداناپذیر از زبانهای برنامه نویسی هستند و میتوانند عملیاتی را روی مقدار یا «عملوند» (Operand) خاصی انجام دهند. عملگرها در جاوا اسکریپت و در سایر زبانهای برنامه نویسی برای انجام محاسبات ریاضی و منطقی خاص بر روی عملوندها استفاده میشوند. در جاوا اسکریپت، عملگرها برای مقایسه مقادیر، انجام عملیات حسابی و غیره به کار میروند. در این مطلب آموزشی از مجله تم آف قرار است در رابطه با انواع عملگرها در جاوا اسکریپت توضیحاتی همراه با مثالهای مختلف برای درک آسان انواع عملگرهای رایج ارائه شود.
3. عملگر کوچکتر یا کمتر (>) در جاوا اسکریپت:
4. عملگر کمتر یا مساوی (=>) در جاوا اسکریپت:
5. عملگر باینری شیف به چپ (>>)
عملگر چیست؟
در برنامه نویسی کامپیوتری، عملگرها اجزایی هستند که در زبانهای برنامه نویسی تعریف شدهاند. این اجزا به طور کلی مانند توابع در برنامه نویسی عمل میکنند، اما از نظر نحوی یا معنایی متفاوت هستند. در هر زبان برنامه نویسی معمولاً مجموعهای از عملگرهای داخلی تعریف شدهاند و در برخی موارد، این زبانها به کاربران اجازه میدهند تا معانی جدیدی به عملگرهای موجود اضافه کنند یا حتی عملگرهای کاملاً جدیدی را تعریف کنند.
به بیانی سادهتر، عملگر نمادی است که برای انجام عملیات روی عملوندها استفاده میشود. عملیات میتوانند ریاضی یا منطقی باشند. در جاوا اسکریپت انواع مختلفی از عملگرها برای انجام عملیات مختلف وجود دارد که در ادامه این بخش همه آنها مورد بررسی قرار گرفتهاند.
انواع عملگرها در جاوا اسکریپت
عملگرها در جاوا اسکریپت در دستههای مختلفی قرار میگیرند که مهمترین آنها شامل موارد زیر هستند:
- «عملگرهای حسابی» (Arithmetic Operators)
- «عملگرهای مقایسه» (Arithmetic Operators)
- «عملگرهای منطقی» (Logical Operators)
- «عملگرهای انتسابی» (Assignment Operators)
- «عملگرهای سهتایی» (Ternary Operators)
- «عملگر حذف» (Delete Operators)
- و سایر موارد
عملگرهای حسابی در جاوا اسکریپت
یکی از شناختهشدهترین عملگرها در جاوا اسکریپت، عملگرهای حسابی هستند. عملگرهای حسابی جاوا اسکریپت، عملگرهایی هستند که روی مقادیر عددی عملیات انجام میدهند و یک مقدار عددی را بازمیگردانند. عملگرهای حسابی زیادی در جاوا اسکریپت وجود دارند. در زیر انواع عملگر حسابی جاوا اسکریپت توضیح داده شده است.
1. عملگر جمع (+) در جاوا اسکریپت: این عملگر در جاوا اسکریپت دو عملوند عددی را میگیرد و مجموع عددی آنها را بازمیگرداند. همچنین دو رشته یا عدد را به هم متصل میکند. «سینتکس» (Syntax) آن به صورت زیر است:
a + b
2. عملگر تفریق (-) در جاوا اسکریپت: عملگر تفریق، اختلاف دو عملوند را به صورت مقدار عددی بهعنوان خروجی بازمیگرداند. سینتکس آن به صورت زیر است:
a - b
3. عملگر ضرب (*) در جاوا اسکریپت: ضرب (*) دو عملوند را در همدیگر ضرب میکند و حاصل را به عنوان خروجی بازمیگرداند. سینتکس آن به صورت زیر است:
a * b
4. عملگر تقسیم (/) در جاوا اسکریپت: این عملگر در جاوا اسکریپت دو عملوند را گرفته و عمل تقسیم را برای آنها انجام میدهد. برای این عملگر، عملوند سمت راست «مقسومعلیه» (Divisor) و عملوند سمت چپ «مقسوم» (Dividend) است.
a / b
5. عملگر باقیمانده (%) در جاوا اسکریپت: عملگر باقیمانده، مقدار باقیمانده حاصل از تقسیم دو عدد را بازمیگرداند. قطعه کد زیر مربوط به این عملگر در جاوا اسکریپت است.
a % b
6. عملگر توان (**) در جاوا اسکریپت: عملگر توان، عملوندی را به توان عملوندی دیگر میرساند. قطعه کد زیر مربوط به عملگر توان در جاوا اسکریپت است که در آن عملوند سمت راست بهعنوان توان استفاده میشود.
a % b
مثالی از عملگرهای حسابی جاوا اسکریپت:
var x = 5, y = 10;
var z = x + y;
z = y - x;
z = x * y;
z = y / x;
z = x % 2;
z = y ** x;
خروجی عملیات فوق در ادامه آمده است:
15 5 50 2 0 100000
عملگرهای افزایش و کاهش در جاوا اسکریپت
عملگرهای افزایش و کاهش در جاوا اسکریپت نوعی دیگر از عملگرهای حسابی هستند که شرح و مثال مربوط به آنها به صورت زیر است:
عملگر افزایش (++) در جاوا اسکریپت
این عملگر در جاوا اسکریپت، عملوند خود را افزایش میدهد (یکی به آن اضافه میکند) و مقداری را بازمیگرداند.
- اگر از عملگر به صورت پسوندی استفاده شود (مثلاً ++x)، این عملگر ابتدا متغیر x را برمیگرداند و بعد یک واحد به آن اضافه میکند.
- اگر عملگر به صورت پیشوندی استفاده شود (مثلاً x++)، ابتدا به متغیر x یک واحد اضافه میکند و بعد آن را برمیگرداند.
سینتکس عملگر افزایش در جاوا اسکریپت به صورت زیر است:
a++ or ++a
عملگر کاهش (–) در جاوا اسکریپت
این عملگر از میان عملگرها در جاوا اسکریپت عملوند خود را کاهش میدهد (یکی از آن کم میکند) و مقداری را برمیگرداند.
- اگر از این علامت به صورت پسوندی استفاده شود، (مثلاً –x)، این عملگر ابتدا متغیر x را برمیگرداند و بعد یک واحد از آن کم میکند.
- اگر عملگر به صورت پیشوندی استفاده شود، (مثلاً x–)، ابتدا از متغیر x یک واحد کم میکند و بعد آن را برمیگرداند.
سینتکس عملگر کاهش در جاوا اسکریپت به صورت زیر است:
a-- or --a
مثالی از عملگرهای کاهش و افزایش در جاوا اسکریپت در زیر آورده شده است.
Demo: JavaScript ++ and -- Operators
x = 5;
x++=
x=
++x=
x--=
x=
--x=
خروجی به شکل زیر خواهد بود:
x = 5; x++=5 x=6 ++x=7 x--=7 x=6 --x=5
عملگرهای یکانی در جاوا اسکریپت
عملگرهای جاوا اسکریپت از نوع یکانی(یکین | Unary) ، یکی دیگر از عملگرهای مهمی هستند که کاربرد مختص به خودشان را دارند. انواع عملگرهای Unary عبارتاند از:
- Unary (-)
- Unary (+)
Unary (-): این عملگر در جاوا اسکریپت، بر روی عملوندی واحد عمل میکند و نفی عملوند را به عنوان خروجی بازمیگرداند. یعنی مقادیر مثبت را به منفی و مقادیر منفی را به مثبت تبدیل خواهد کرد. برای مثال اگر در عبارت Unary (x)
مقدار متغیر برابر ٣ باشد، یعنی x=3 باشد، x- برابر با 3- میشود و برعکس. سینتکس این عملگر در جاوا اسکریپت به صورت زیر است:
-a
مثالی از عملگر Unary (-):
var a = 3;
b = -a; gives b = -3, a = 3
// Unary negation operator
// can convert non-numbers
// into a number
var a = "3";
b = -a; gives b = -3
Unary (+): این عملگر در جاوا اسکریپت برای تبدیل یک مقدار غیر عددی به مقدار عددی به کار گرفته میشود. این عملگر سریع ترین و بهترین روش برای تبدیل مقادیر غیر عددی به عدد است، زیرا هیچ عملیات اضافی را روی عدد انجام نمیدهد. سینتکس آن به صورت زیر است:
+a
مثالی از عملگر Unary (+):
+4 gives 4
+'2' gives 2
+true gives 1
+false gives 0
+null gives 0
عملگر انتسابی در جاوا اسکریپت
نوعی دیگر از انواع عملگرها در جاوا اسکریپت، «عملگر انتسابی» (Assignment operators) است. علامت عملگر انتسابی (=) است و مقدار عملوند سمت راست را به عملوند سمت چپ خود اختصاص میدهد. یعنی اگر a = b باشد، مقدار b را به a اختصاص دهد.
عملگر انتسابی ساده برای تخصیص مقداری به یک متغیر استفاده میشود. عملیات انتساب به مقدار اختصاص داده شده ارزیابی میشود. اعمال کردن عملگر انتساب بهمنظور اختصاص یک مقدار واحد به چندین متغیر یا مکان، امکانپذیر است و سینتکس آن در جاوا اسکریپت به صورت زیر خواهد بود:
data=value
مثالی ساده از عملگر انتسابی در جاوا اسکریپت:
// Lets take some variables
x=10
y=20
x=y // Here, x is equal to 20
y=x // Here, y is equal to 10
تعداد زیادی از عملگرهای انتسابی دیگر در جاوا اسکریپت وجود دارند که معرفی و شرح هرکدام در جدول و توضیحات زیر آمده است:
نام عملگر | نشانی اختصاری | نشانی اصلی و مفهوم عملگر |
عملگر انتسابی جمع | a+=b | a=a+b |
عملگر انتسابی تفریق | a-=b | a=a-b |
عملگر انتسابی ضرب | a*=b | a=a*b |
عملگر انتسابی تقسیم | a/=b | a=a/b |
عملگر انتسابی باقی مانده | a%=b | a=a%b |
عملگر انتسابی توان | a**=b | a=a**b |
عملگر انتسابی شیفت به چپ | a | a=a |
عملگر انتسابی شیفت به راست | a>>=b | a=a>>b |
عملگر انتسابی AND | a&=b | a=a&b |
عملگر انتسابی OR | a|=b | a=a | b |
عملگر انتسابی XOR | a^=b | a=a^b |
1. عملگر انتسابی جمع
این عملگر مقدار عملوند سمت راست را به متغیر اضافه میکند و نتیجه را به متغیر اختصاص میدهد. نوع دو عملوند رفتار عملگر انتسابی جمع را تعیین میکند. اضافه کردن یا الحاق کردن با این عملگر در جاوا اسکریپت، امکان پذیر است. در این عملیات، از رشته هم میتوان به عنوان عملوند استفاده کرد. مثال زیر در رابطه با عملگر انتسابی در جاوا اسکریپت است:
var x = 50;
var x = x+3;
OR
var x += 3;
خروجی به صورت زیر خواهد بود:
53 53
2. عملگر انتسابی تفریق در جاوا اسکریپت
این عملگر مقدار عملوند سمت راست را از یک متغیر کم کرده و نتیجه را به همان متغیر اختصاص میدهد. مثال زیر این مفهوم را بیان میکند.
var x = 50;
var x = x - 5;
OR
var x -= 5;
خروجی به صورت زیر خواهد بود:
45
45
3. عملگر انتسابی ضرب در جاوا اسکریپت
این عملگر یک متغیر را در مقدار عملوند سمت راست ضرب میکند و نتیجه را به متغیر اختصاص میدهد. مثال زیر مربوط به این عملگر است:
var x = 50;
var x = x * 2;
OR
var x *= 2;
خروجی به صورت زیر خواهد بود:
100
100
4. عملگر انتسابی تقسیم در جاوا اسکریپت
این عملگر در جاوا اسکریپت، یک متغیر را بر مقدار عملوند سمت راست تقسیم میکند و نتیجه را به متغیر اختصاص میدهد. مثال زیر مربوط به این عملگر است:
var x = 50;
var x = x / 2;
OR
var x /= 2;
خروجی:
25
25
5. عملگر انتسابی باقیمانده
این عملگر یک متغیر را بر مقدار عملوند سمت راست تقسیم میکند و باقیمانده را به عنوان خروجی بازمیگرداند. مثال زیر مربوط به این عملگر است:
let yoo=50;
document.write(yoo%=10);
خروجی:
0
6. عملگر انتسابی توان در جاوا اسکریپت
این عملگر مقدار یک متغیر را به توان عملوند سمت میرساند. مثال زیر مربوط به این عملگر است:
let yoo=2;
const moo=2;
// 2 raise to the power 2
document.write(yoo**=moo);
خروجی:
4
7. عملگر انتسابی شیفت به چپ در جاوا اسکریپت
این عملگر بیتهای دودویی مقدار متغیر مربوطه را به تعداد تعیین شده به سمت چپ منتقل میکند و نتیجه را به متغیر اختصاص میدهد. مثال:
var yoo=5; // 101
document.write(yoo
خروجی:
20
8. عملگر انتسابی شیفت به راست در جاوا اسکریپت
این عملگر در جاوا اسکریپت، بیتهای دودویی مقدار متغیر را به تعداد واحد تعیین شده به سمت راست منتقل میکند و نتیجه را به همان متغیر اختصاص میدهد. مثال:
var yoo=5;
document.write(yoo>>=2);
1
9. عملگر انتسابی AND در جاوا اکسریپت
این عملگر در جاوا اسکریپت از نمایش باینری هر دو عملوند استفاده میکند، یک عملیات AND بیتی روی آنها انجام میدهد و نتیجه را به متغیر اختصاص میدهد. مثال:
var yoo=5;
document.write(yoo&=2); // 000
خروجی:
0
10. عملگر انتسابی OR در جاوا اسکریپت
این عملگر از نمایش باینری هر دو عملوند استفاده میکند، عملیات OR را به صورت بیتی روی آنها انجام میدهد و نتیجه را به متغیر اختصاص میدهد. مثال:
var yoo=5;
// 7(In binary: 111)
document.write(yoo|=2);
خروجی:
7
11. عملگر انتسابی Xor در جاوا اسکریپت
این عملگر نیز از نمایش دودویی هر دو عملوند استفاده میکند، یک عملیات XOR بیتی روی آنها انجام میدهد و نتیجه را به متغیر اختصاص میدهد. مثال:
var yoo=5;
document.write(yoo^=2); // 111
خروجی:
7
معرفی فیلم های آموزش جاوا اسکریپت
زبان برنامه نویسی جاوا اسکریپت به علت وجود بازار کار پررونق، وجود ابزار و چارچوبهای مختلف و همچنین کاربرد گستردهای که دارد، هماکنون اگر محبوبترین زبان برنامه نویسی نباشد، بدون شک یکی از محبوبترین آنها است. جاوا اسکریپت امروزه در بیشتر حوزههای فناوری، مخصوصاً وب و اینترنت کاربرد بسیار گستردهای دارد و روزبهروز نیز به این کاربردها افزوده میشود. همچنین جاوا اسکریپت پا را فراتر از وب و اینترنت گذشته است و امروزه در برنامه نویسی اپلیکیشن موبایل و دسکتاپ و همچنین، برنامه نویسی سمت سرور و سایر موارد کاربرد گستردهای دارد. با توجه به شرایطی که این زبان در حال حاضر دارد و همچنین نگرشها در مورد آینده این زبان، اینطور به نظر میرسد که یادگیری آن برای ورود به بازار کار امیدوار کنند است.
به دلیل اینکه جاوا اسکریپت متقاضیان یادگیری زیاد و همچنین کاربردهای فراوانی دارد، پلتفرم آموزشی تم آف درصدد آن برآمده است که فیلمها و دورههای آموزشی جامع زیادی را برای این منظور تولید کند. فیلمهای آموزش جاوا اسکریپت در پلتفرم تم آف به منظور آموزش کامل جنبههای این زبان تولید شدهاند و شامل مواردی مانند، آموزش جامع جاوا اسکریپت، آموزش مبتدی جاوا اسکریپت، آموزش انواع فریمورک جاوا اسکریپت، آموزش طراحی سایت با جاوا اسکریپت و سایر موارد هستند.
- برای مشاهده مجموعهی کامل فیلم های آموزشی جاوا اسکریپت تم آف + اینجا کلیک کنید.
عملگرهای مقایسه ای در جاوا اسکریپت
این بخش از مقاله، مربوط به «عملگرهای مقایسهای» (Comparison Operators) و پیادهسازی آنها در جاوا اسکریپت است. عملگرهای مقایسهای در میان انواع عملگرها در جاوا اسکریپت، عمدتاً برای انجام عملیات منطقی که برابری یا عدم برابری بین مقادیر را تعیین میکنند، استفاده میشوند.
این عملگرها برای انجام محاسبات ریاضی و منطقی خاص روی عملوندها استفاده میشوند. جاوا اسکریپت مانند C ،C++ ،Java ،Python و زبانهای مختلف دیگر از عملیات مقایسه پشتیبانی میکند. عملگرهای مقایسه در عبارات منطقی برای تعیین برابری یا تفاوت آنها در متغیرها یا مقادیر استفاده میشود. در زیر مثالی از عملگرهای مقایسهای آورده شده است.
function gfg() {
let val1 = 5;
// Equality Operators
document.write(val1 == 5);
document.write("
");
// Relational Operators
document.write(val1 > 0);
}
gfg();
خروجی به صورت زیر خواهد بود:
true true
عملگرهای مقایسهای مختلفی وجود دارند که در جاوا اسکریپت پشتیبانی میشوند که در دو دسته زیر قرار میگیرند:
- عملگرهای برابری
- عملگرهای رابطهای
هر دو عملگر در بخش بعد از طریق مثالها مورد بحث واقع خواهند شد.
عملگرهای برابری در جاوا اسکریپت
در این بخش به شرح هر یک از انواع عملگرهای برابری در جاوا اسکریپت پرداخته شده است.
1. عملگر برابری در جاوا اسکریپت
این عملگر در جاوا اسکریپت، برای مقایسه برابری دو عملوند استفاده میشود. اگر برابر باشد، شرط درست است در غیر این صورت نادرست است. سینتکس آن به صورت زیر است:
x == y
مثال 1: مثال زیر عملگر برابری را در جاوا اسکریپت نشان میدهد.
// Illustration of (==) operator
let val1 = 5;
let val2 = '5';
// Checking of operands
console.log(val1 == 5);
console.log(val2 == 5);
console.log(val1 == val1);
// Check against null and boolean value
console.log(0 == false);
console.log(0 == null);
خروجی به صورت زیر خواهد بود:
> true > true > true > true > false
2. عملگر نابرابری در جاوا اسکریپت
عملگر نابرابری در جاوا اسکریپت برای مقایسه نابرابری دو عملوند استفاده میشود. اگر برابر باشد، شرط نادرست و در غیر این صورت درست است. سینتکس و مثال آن به صورت زیر خواهد بود:
x != y
مثال:
// Illustration of (!=) operator
let val1 = 5;
let val2 = '5';
// Checking of operands
console.log(val1 != 6);
console.log(val2 != '5');
console.log(val1 != val1);
// Check against null and boolean value
console.log(0 != false);
console.log(0 != null);
خروجی:
> true > false > false > false > true
3. عملگر برابری دقیق در جاوا اسکریپت
این عملگر در جاوا اسکریپت، برای مقایسه برابری دو عملوند هم از لحاظ مقدار و هم از لحاظ نوع استفاده میشود. . اگر مقدار و نوع هر دو عملوند برابر باشند، شرط درست و در غیر این صورت نادرست است. سینتکس عملگر برابری دقیق در جاوا اسکریپت به صورت زیر خواهد بود:
x === y
مثال:
// Illustration of (===) operator
let val1 = 5;
let val2 = '5';
// Checking of operands
console.log(val1 === 6);
console.log(val2 === '5');
console.log(val1 === val1);
// Check against null and boolean value
console.log(0 === false);
console.log(0 === null);
خروجی:
> false > true > true > false > false
4. عملگر نابرابری شدید در جاوا اسکریپت
این عملگر برای مقایسه نابرابری دو عملوند با نوع استفاده میشود. اگر مقدار و نوع نابرابر باشند، شرط درست و در غیر این صورت نادرست است. سینتکس آن به صورت زیر خواهد بود:
x !== y
// Illustration of (!==) operator
let val1 = 5;
let val2 = '5';
// Checking of operands
console.log(val1 !== 6);
console.log(val2 !== '5');
console.log(val1 !== val1);
// Check against null and boolean value
console.log(0 !== false);
console.log(0 !== null);
خروجی آن به صورت زیر است:
> true > false > false > true > true
تابع های جاوا اسکریپت — راهنمای جامع
عملگرهای مقایسهای رابطهای در جاوا اسکریپت
نوعی دیگر از عملگرها در جاوا اسکریپت، عملگرهای رابطهای هستند که در ادامه هرکدام همراه با سینتکس و مثال شرح داده شده است.
1. عملگر مقایسه بزرگتری (
این عملگر برای بررسی اینکه آیا مقدار سمت چپ بزرگتر از مقدار سمت راست است یا خیر استفاده میشود. اگر مقدار بیشتر باشد، شرط درست و در غیر این صورت نادرست است. سینتکس آن به صورت زیر خواهد بود:
x > y
مثال:
// Illustration of (>) operator
let val1 = 5;
let val2 = "5";
// Checking of operands
console.log(val1 > 0);
console.log(val2 > "10");
console.log(val1 > "10");
console.log(val2 > 0);
خروجی آن به صورت زیر است:
> true > true > false > true
2. عملگر بزرگتر مساوی در جاو اسکریپت (=
این عملگر برای بررسی اینکه آیا عملوند سمت چپ بزرگتر یا مساوی با عملوند سمت راست است یا خیر استفاده میشود. اگر مقدار بزرگتر یا مساوی باشد، شرط درست و در غیر این صورت نادرست است. سینتکس عملگر بزرگتر مساوی در جاوا اسکریپت به صورت زیر خواهد بود:
x >= y
مثال:
// Illustration of (>=) operator
let val1 = 5;
let val2 = "5";
// Checking of operands
console.log(val1 >= 5);
console.log(val2 >= "15");
console.log(val1 >= "5");
console.log(val2 >= 15);
خروجی:
> true > true > true > false
x
مثال:
// Illustration of (
خروجی:
> true
> false
> false
> true
x
مثال:
// Illustration of (
خروجی:
> true
> false
> false
> true
عملگرهای بیتی جاوا اسکریپت
جاوا اسکریپت مانند زبان C ،C++، جاوا، پایتون و زبانهای مختلف دیگر از عملیات بیتی پشتیبانی میکند. در جاوا اسکریپت، یک عدد به عنوان یک عدد ممیز شناور 64 بیتی ذخیره میشود، اما عملیات بیتی بر روی اعدد باینری 32 بیتی قابل انجام است، یعنی برای انجام عملیات بیتی، جاوا اسکریپت عدد را به عددی 32 بیتی تبدیل میکند و عملیات را انجام میدهد و نتیجه را به عنوان عددی 64 بیتی بازمیگرداند. در زیر انواع عملگرهای جاوا اسکریپت از نوع بیتی توضیح و برای هر یک مثالی آورده شده است.
1. عملگر بیتی AND ( & ) در جاوا اسکریپت
این عملگر باینری در جاوا اسکریپت دو عملوند را میپذیرد. در عملگر AND اگر هر دو بیت درست باشند (یعنی 1)، نتیجه همیشه درست (1) و در هر حالت دیگری این عملگر 0 را برمیگرداند. جدول زیر حالتهای مختلف این عملگر را نشان میدهد:
A
B
خروجی
0
0
0
0
1
0
1
0
0
1
1
1
2. عملگر بیتی OR (|) در جاوا اسکریپت
این عملگر باینری نیز دو عملوند را میپذیرد. اگر هر یک از عملوندها غلط باشند (یعنی 0) نتیجه 0 است و در هر حالت دیگری 1 را برمیگرداند. جدول زیر حالتهای مختلف این عملگر را نشان میدهد:
A
B
خروجی
0
0
0
1
0
1
0
1
1
1
1
1
3. عملگر بیتی XOR (^) در جاوا اسکریپت
این هم عملگری باینری است یعنی دو عملوند را میپذیرد. اگر هر دو عملوند متفاوت باشند، نتیجه 1 و در هر حالت دیگری 0 را برمیگرداند. جدول زیر حالتهای مختلف این عملگر را نشان میدهد:
A
B
خروجی
0
0
0
0
1
1
1
0
1
1
1
0
4. عملگر بیتی NOT (~) در جاوا اسکریپت
NOT عملگری یکنواخت به حساب میآید، یعنی عملوندهای منفرد را میپذیرد. با این عملگر، 0 تبدیل به 1 و 1 تبدیل به 0 میشود. جدول زیر حالتهای مختلف این عملگر را نشان میدهد:
A
A~
1
0
0
1
A
6 ( 00000000000000000000000000000110 )
B
1 ( 00000000000000000000000000000001 )
خروجی A
12 ( 00000000000000000000000000001100 )
6. عملگر باینری شیفت به راست (
این عملگر نیز باینری است. عملوند اول مقدار عدد اول در نمایش بیتی و عملوند دوم تعداد بیتهایی را مشخص میکند که باید تغییر کنند. با این عملگر هر بیت به سمت راست منتقل میشود و بیتهای سرریز دور انداخته خواهند شد. جدول زیر حالتهای مختلف این عملگر را نشان میدهد.
A
6 ( 00000000000000000000000000000110 )
B
1 ( 00000000000000000000000000000001 )
خروجی A >> B
3 ( 00000000000000000000000000000011 )
7. عملگر Right Shift (
در این عملگر باینری، عملوند اول نمایش بیتی عدد و عملوند دوم تعداد بیتهایی را که باید تغییر کنند را مشخص میکنند. هر بیت به سمت راست منتقل میشود و بیتهای سرریز دور انداخته خواهند شد. 0 بیت از سمت چپ اضافه میشود تا صفرها در سمت راست پر شود. جدول زیر حالتهای مختلف این عملگر را نشان میدهد:
A
6 ( 00000000000000000000000000000110 )
B
1 ( 00000000000000000000000000000001 )
خروجی A >>> B
3 ( 00000000000000000000000000000011 )
مثال برای عملگرها در جاوا اسکریپت از نوع باینری:
خروجی:
A & B = 0
A | B = 7
~A = -7
A >> B = 3
A >>> B = 3
A
مطلب پیشنهادی:
حلقه for در جاوا اسکریپت — از صفر تا صد + مثال و کد
عملگر حذف در جاوا اسکریپت چیست؟
عملگر حذف بهطور خاص برای حذف ویژگیهای شی جاوا اسکریپت استفاده میشود و این عملگر نسبتاً عملگری کمتر شناخته شده در جاوا اسکریپت است. این بخش از آموزش از مطلب عملگرها در جاوا اسکریپت مربوط به تشریح این عملگر خواهد بود.
اگرچه متدهای Pop ،Shift و Slice در جاوا اسکریپت برای حذف یک عنصر از آرایه در دسترس هستند، اما به دلیل وجود جفت کلید-مقدار در یک شی، عمل حذف پیچیدهتر میشود و بهترین راهکار استفاده از عملگر حذف است. باید به این نکته توجه داشت که عملگر حذف فقط روی اشیا عملیات انجام میدهد. این عملگر روی متغیرها یا توابع کار نمیکند. سینتکس عملگر حذف در جاوا اسکریپت به صورت زیر است:
delete object
// or
delete object.property
// or
delete object['property']
عملگر حذف اگر یک «خاصیت» (Property) را حذف کند، مقدار True را برمیگرداند، اما روی شی تأثیری نخواهد داشت. همچنین این عملگر در جاوا اسکریپت هنگام تلاش برای حذف یک متغیر یا تابع، مقدار False را بازمیگرداند.
مثال: این مثال با فرض اینکه یک شی به نام Person
دارای سه جفت کلید-مقدار (یعنی FirstName ،LastName و Phone) است، ارائه خواهد شد. اکنون با استفاده از عملگر delete
برای حذف ویژگی Phone از میان این سه ویژگی، تلاش خواهد شد تا مشاهده شود این عملگر چه چیزی را به عنوان خروجی بازمیگرداند.
let person = {
firstName: "kamel",
lastName: "bahrami",
phone: 12345
}
console.log(delete person.phone);
console.log(person);
خروجی:
true
(2) {firstName: "kamel", lastName: "bahr...}
firstName
:
"kamel"
lastName
:
"bahrami"
همانطور که خروجی بالا نشان میدهد، delete person.phone
مقدار True بازمیگرداند. حال در بخش زیر از عملگر حذف در جاوا اسکریپت برای حذف یک متغیر و یک تابع استفاده شده است. مثال:
let num = 5;
let sum = (a, b) => {
return a + b;
}
console.log(delete num); //false
console.log(delete sum); //false
خروجی:
false
false
از آنجایی که عملگر حذف، برای متغیرها یا تابع کار نمیکند، False را برمیگرداند و متغیرها و توابع واقعی دست نخورده باقی میمانند. نکته دیگری که باید در نظر داشت این است که این عملگر ارزش ویژگی را حذف نمیکند بلکه خود ویژگی را حذف میکند.
استثنا: متغیرهای سراسری را می توان با استفاده از عملگر حذف در جاوا اسکریپت حذف کرد. مثال:
toDelete = 5;
// true
console.log(delete toDelete);
// toDelete is not defined
console.log(toDelete);
بدون استفاده از var
، کلمه کلیدی let
یا const
متغیر را بهعنوان یک متغیر سراسری تنظیم میکند و بهعنوان یک ویژگی شی کار میکند. خروجی به صورت زیر است:
true
Uncaught ReferenceError: toDelete is not defined
در این مثال، delete toDelete
مقدار True را برمیگرداند و تلاش برای دسترسی به متغیر پس از حذف، با خطا مواجه میشود زیرا متغیر دیگر تعریف نشده است.
فیلم آموزش JavaScript ES6 جاوا اسکریپت در تم آف
کلیک کنید
حذف مقادیر آرایه با استفاده از delete در جاوا اسکریپت
آرایههای جاوا اسکریپت همه اشیاء هستند. بنابراین، میتوان از عملگر حذف برای حذف آنها استفاده کرد. با این وجود، این کار مشکل ایجاد میکند، زیرا پس از حذف عنصر از آرایه، این عملگر موقعیت یا مکان عنصر حذف شده را خالی نشان میدهد و طول آرایه را بهروز نمیکند.
let arr = [1, 2, 3]
console.log(delete arr[0]); //true
console.log(arr); //[empty, 2, 3]
خروجی:
true
(3) [2, 3]
در خروجی بالا، طول آرایه که هم اکنون 2 است به روز نشده است و همان 3 را نشان میدهد. این نوعی مشکل بهحساب میآید؛ بنابراین، استفاده از متدهای Pop
، Shift
و Splice
بهوضوح روش بهتری برای حذف عناصر آرایه هستند. استفاده از ویژگی delete
در حلقهها سرعت برنامه را به میزان قابلتوجهی کاهش میدهد. بنابراین، این روش تنها زمانی باید استفاده شود که حذف ویژگی شی کاملاً ضروری باشد.
عملگر کاما در جاوا اسکریپت
عملگر کاما (,) در جاوا اسکریپت، به همان روشی مورد استفاده قرار میگیرد که در بسیاری از زبانهای برنامه نویسی مانند C ،C++ و غیره استفاده میشود. این عملگر عمدتاً عملوندهای خود را از چپ به راست به ترتیب ارزیابی میکند و مقدار عملوند سمت راست را برمیگرداند. عملگر کاما بهعنوان جداکننده برای عبارات متعدد در محلی استفاده میشود که به یک عبارت واحد نیاز دارد. هنگامی که عملگر کاما در یک عبارت قرار میگیرد، هر عبارت را اجرا میکند و سمت راستترین عبارت را برمیگرداند.
سینتکس:
Expression1, Expression2, Expression3, ....so on
در دستور بالا، چند عبارت با استفاده از یک عملگر کاما از هم جدا میشوند. در حین اجرا، هر عبارت از چپ به راست اجرا میشود و سمت راستترین عبارت بازگردانده میشود. مثال زیر این موضوع را نشان میدهد.
function x() {
document.write('Welcome');
return 'Welcome';
}
function y() {
document.write('to');
return 'to';
}
function z() {
document.write('Faradars');
return 'Faradars';
}
// Three expressions are
// given at one place
var x = (x(), y(), z());
document.write(x);
خروجی به صورت زیر است:
Welcome
to
Faradars
Faradars
در خروجی ابتدا تابع x()
سپس y()
و در آخر z()
اجرا میشوند. درنهایت، عملگر کاما سمت راستترین عبارت را برمیگرداند. مفیدترین کاربرد عملگر کاما در حلقهها است. در حلقهها، برای بهروزرسانی چندین متغیر در عبارتی از این عملگر استفاده میشود. مثال:
for (var a = 0, b =5; a
خروجی به صورت زیر است:
0 5
1 4
2 3
3 2
4 1
5 0
عملگرهای اتصال کوتاه جاوا اسکریپت
یکی دیگر از انواع عملگرها در جاوا اسکریپت، عملگرهای اتصال کوتاه هستند. در عملگرهای اتصال کوتاه جاوا اسکریپت، عبارتی از سمت چپ به راست ارزیابی میشود و تا زمانی که تأیید شود که نتیجه شرایط باقیمانده روی نتیجه ارزیابی شده از قبل تأثیری نخواهد داشت، مقدار True بازگردانده خواهد شد. اگر حتی قبل از ارزیابی کامل عبارت، نتیجه واضح باشد، اتصال کوتاه اتفاق میافتد و نتیجه بازگردانده میشود. ارزیابی اتصال کوتاه از کار غیرضروری جلوگیری میکند و منجر به پردازش کارآمد و سریع خواهد شد.
1. عملگر اتصال کوتاه AND در جاوا اسکریپت
در مورد عملگر اتصال کوتاه AND، عبارت تا زمانی ارزیابی میشود که یک نتیجه نادرست به دست آید. اگر عبارتی با AND وجود داشته باشد و خود عملوند اول نادرست باشد، اتصال کوتاه رخ میدهد و در این صورت عبارت بعدی ارزیابی نمیشود و False بازگردانده میشود. مثال زیر این موضوع را بیان میکند.
// Since first operand is false and operator
// is AND, Evaluation stops and false is
// returned.
console.log(false && true && true && false)
// Whole expression will be evaluated.
console.log(true && true && true)
خروجی:
false
true
2. عملگر اتصال کوتاه OR در جاوا اسکریپت
در مورد عملگر اتصال کوتاه OR، عبارت تا زمانی ارزیابی میشود که یک نتیجه درست به دست آید. اگر عبارتی با OR منطقی وجود داشته باشد و خود عملوند اول درست باشد، اتصال کوتاه رخ میدهد، در این صورت ارزیابی متوقف میشود و True بازگردانده میشود. مثال زیر این موضوع را بیان میکند.
// First operand is true and operator is ||,
// evaluation stops and true is returned.
console.log(true || false || false)
// Evaluation stops at the second operand(true).
console.log(false || true || true || false)
خروجی به صورت زیر است:
true
true
عملگر سه تایی جاوا اسکریپت
علامت سؤال (?) یا عملگر شرطی (&) در بین شرط و عبارت، در جاوا اسکریپت نشانگر عملگر سهتایی هستند که سه عملوند را میتوانند بپذیرند. این سه عملوند شامل موارد زیر هستند:
- شرط
- اگر عبارت درست باشد
- اگر عبارت نادرست باشد
ارزیابی شرط باید به مقدار True یا False یا مقدار بولی منجر شود. این عملگر در صورتی که عبارت قبل از “:” ، True باشد اجرا میشود و مقدار True را در خروجی برمیگرداند. بهطور مشابه، مقدار False بعد از “:” قرار دارد و اگر عبارت دوم درست باشد، False را برمیگرداند. سینتکس این عملگر در جاوا اسکریپت به صورت زیر است:
condition ? value if true : value if false
مثال ١:
Input: let result = (10 > 0) ? true : false;
Output: true
Input: let message = (20 > 15) ? "Yes" : "No";
Output: Yes
مثال 2:
function gfg() {
//JavaScript to illustrate
//Conditional operator
let age = 60
let result = (age > 59)?
"Senior Citizen":"Not a Senior Citizen";
document.write(result);
}
gfg();
Senior Citizen
مثال 3: چند عملگر شرطی باهم:
function gfg() {
//JavaScript to illustrate
//multiple Conditional operators
let marks = 95;
let result = (marks
خروجی:
Excellent
عملگر نوع جاوا اسکریپت
در زبان برنامه نویسی جاوا اسکریپت، «عملگر نوع» (Typeof)، نوع داده عملوند خود را در قالب رشته بازمیگرداند. عملوند میتواند هر شی، تابع یا متغیری باشد. سینتکس این عملگر در جاوا اسکریپت به دو صورت زیر است:
typeof operand
or
typeof (operand)
انواع داده احتمالی که این عملگر در جاوا اسکریپت بازمیگرداند، شامل موارد زیر هستند:
- «تعریف نشده» (Undefined)
- «شی» (Object)
- «دودویی» (بولی | Boolean)
- «عدد» (Number)
- «رشته» (String)
- «نماد» (Symbol)
- و سایر موارد
مثال از عملگر نوع در جاوا اسکریپت:
خروجی:
string
number
undefined
عملگر Instanceof در جاوا اسکریپت
آخرین مورد از عملگرها در جاوا اسکریپت، عملگر Instanceof
است. این عملگر در جاوا اسکریپت برای بررسی نوع شی در زمان اجرا استفاده میشود. اگر شرط آن درست باشد مقدار بولی بازمیگرداند و نشان میدهد که شی نمونهای از یک کلاس خاص است و اگر شرط غلط باشد، خاتمه پیدا میکند. سینتکس آن به صورت زیر است:
var gfg = objectName instanceof objectType
مثال:
Faradars
خروجی:
Faradars
true
true
false
false
سخن پایانی
در این مطلب آموزشی از مجله تم آف انواع عملگرها در جاوا اسکریپت همراه با سینتکس و مثالهای متعددی مورد بررسی قرار گرفتند. عملگرها بخشی جداناپذیر از هر زبان برنامه نویسی هستند. برای شروع کار با جاوا اسکریپت، یادگیری عملگرها از اصول پایهای هستند که هر متقاضی این زبان باید با آنها آشنا باشد. بیشتر عملگرهایی که در جاوا اسکریپت مورد استفاده قرار میگیرند، در این مطلب آموزش داده شدند. امید است که این مطلب آموزشی مورد رضایت شما واقع شده باشد.
// Illustration of (
مثال:
// Illustration of (
خروجی:
> true > false > false > true
عملگرهای بیتی جاوا اسکریپت
جاوا اسکریپت مانند زبان C ،C++، جاوا، پایتون و زبانهای مختلف دیگر از عملیات بیتی پشتیبانی میکند. در جاوا اسکریپت، یک عدد به عنوان یک عدد ممیز شناور 64 بیتی ذخیره میشود، اما عملیات بیتی بر روی اعدد باینری 32 بیتی قابل انجام است، یعنی برای انجام عملیات بیتی، جاوا اسکریپت عدد را به عددی 32 بیتی تبدیل میکند و عملیات را انجام میدهد و نتیجه را به عنوان عددی 64 بیتی بازمیگرداند. در زیر انواع عملگرهای جاوا اسکریپت از نوع بیتی توضیح و برای هر یک مثالی آورده شده است.
1. عملگر بیتی AND ( & ) در جاوا اسکریپت
این عملگر باینری در جاوا اسکریپت دو عملوند را میپذیرد. در عملگر AND اگر هر دو بیت درست باشند (یعنی 1)، نتیجه همیشه درست (1) و در هر حالت دیگری این عملگر 0 را برمیگرداند. جدول زیر حالتهای مختلف این عملگر را نشان میدهد:
A | B | خروجی |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
2. عملگر بیتی OR (|) در جاوا اسکریپت
این عملگر باینری نیز دو عملوند را میپذیرد. اگر هر یک از عملوندها غلط باشند (یعنی 0) نتیجه 0 است و در هر حالت دیگری 1 را برمیگرداند. جدول زیر حالتهای مختلف این عملگر را نشان میدهد:
A | B | خروجی |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 1 |
3. عملگر بیتی XOR (^) در جاوا اسکریپت
این هم عملگری باینری است یعنی دو عملوند را میپذیرد. اگر هر دو عملوند متفاوت باشند، نتیجه 1 و در هر حالت دیگری 0 را برمیگرداند. جدول زیر حالتهای مختلف این عملگر را نشان میدهد:
A | B | خروجی |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
4. عملگر بیتی NOT (~) در جاوا اسکریپت
NOT عملگری یکنواخت به حساب میآید، یعنی عملوندهای منفرد را میپذیرد. با این عملگر، 0 تبدیل به 1 و 1 تبدیل به 0 میشود. جدول زیر حالتهای مختلف این عملگر را نشان میدهد:
A | A~ |
1 | 0 |
0 | 1 |
A
6 ( 00000000000000000000000000000110 )
B
1 ( 00000000000000000000000000000001 )
خروجی A
12 ( 00000000000000000000000000001100 )
6. عملگر باینری شیفت به راست (
این عملگر نیز باینری است. عملوند اول مقدار عدد اول در نمایش بیتی و عملوند دوم تعداد بیتهایی را مشخص میکند که باید تغییر کنند. با این عملگر هر بیت به سمت راست منتقل میشود و بیتهای سرریز دور انداخته خواهند شد. جدول زیر حالتهای مختلف این عملگر را نشان میدهد.
A
6 ( 00000000000000000000000000000110 )
B
1 ( 00000000000000000000000000000001 )
خروجی A >> B
3 ( 00000000000000000000000000000011 )
7. عملگر Right Shift (
در این عملگر باینری، عملوند اول نمایش بیتی عدد و عملوند دوم تعداد بیتهایی را که باید تغییر کنند را مشخص میکنند. هر بیت به سمت راست منتقل میشود و بیتهای سرریز دور انداخته خواهند شد. 0 بیت از سمت چپ اضافه میشود تا صفرها در سمت راست پر شود. جدول زیر حالتهای مختلف این عملگر را نشان میدهد:
A
6 ( 00000000000000000000000000000110 )
B
1 ( 00000000000000000000000000000001 )
خروجی A >>> B
3 ( 00000000000000000000000000000011 )
مثال برای عملگرها در جاوا اسکریپت از نوع باینری:
خروجی:
A & B = 0
A | B = 7
~A = -7
A >> B = 3
A >>> B = 3
A
مطلب پیشنهادی:
حلقه for در جاوا اسکریپت — از صفر تا صد + مثال و کد
عملگر حذف در جاوا اسکریپت چیست؟
عملگر حذف بهطور خاص برای حذف ویژگیهای شی جاوا اسکریپت استفاده میشود و این عملگر نسبتاً عملگری کمتر شناخته شده در جاوا اسکریپت است. این بخش از آموزش از مطلب عملگرها در جاوا اسکریپت مربوط به تشریح این عملگر خواهد بود.
اگرچه متدهای Pop ،Shift و Slice در جاوا اسکریپت برای حذف یک عنصر از آرایه در دسترس هستند، اما به دلیل وجود جفت کلید-مقدار در یک شی، عمل حذف پیچیدهتر میشود و بهترین راهکار استفاده از عملگر حذف است. باید به این نکته توجه داشت که عملگر حذف فقط روی اشیا عملیات انجام میدهد. این عملگر روی متغیرها یا توابع کار نمیکند. سینتکس عملگر حذف در جاوا اسکریپت به صورت زیر است:
delete object
// or
delete object.property
// or
delete object['property']
عملگر حذف اگر یک «خاصیت» (Property) را حذف کند، مقدار True را برمیگرداند، اما روی شی تأثیری نخواهد داشت. همچنین این عملگر در جاوا اسکریپت هنگام تلاش برای حذف یک متغیر یا تابع، مقدار False را بازمیگرداند.
مثال: این مثال با فرض اینکه یک شی به نام Person
دارای سه جفت کلید-مقدار (یعنی FirstName ،LastName و Phone) است، ارائه خواهد شد. اکنون با استفاده از عملگر delete
برای حذف ویژگی Phone از میان این سه ویژگی، تلاش خواهد شد تا مشاهده شود این عملگر چه چیزی را به عنوان خروجی بازمیگرداند.
let person = {
firstName: "kamel",
lastName: "bahrami",
phone: 12345
}
console.log(delete person.phone);
console.log(person);
خروجی:
true
(2) {firstName: "kamel", lastName: "bahr...}
firstName
:
"kamel"
lastName
:
"bahrami"
همانطور که خروجی بالا نشان میدهد، delete person.phone
مقدار True بازمیگرداند. حال در بخش زیر از عملگر حذف در جاوا اسکریپت برای حذف یک متغیر و یک تابع استفاده شده است. مثال:
let num = 5;
let sum = (a, b) => {
return a + b;
}
console.log(delete num); //false
console.log(delete sum); //false
خروجی:
false
false
از آنجایی که عملگر حذف، برای متغیرها یا تابع کار نمیکند، False را برمیگرداند و متغیرها و توابع واقعی دست نخورده باقی میمانند. نکته دیگری که باید در نظر داشت این است که این عملگر ارزش ویژگی را حذف نمیکند بلکه خود ویژگی را حذف میکند.
استثنا: متغیرهای سراسری را می توان با استفاده از عملگر حذف در جاوا اسکریپت حذف کرد. مثال:
toDelete = 5;
// true
console.log(delete toDelete);
// toDelete is not defined
console.log(toDelete);
بدون استفاده از var
، کلمه کلیدی let
یا const
متغیر را بهعنوان یک متغیر سراسری تنظیم میکند و بهعنوان یک ویژگی شی کار میکند. خروجی به صورت زیر است:
true
Uncaught ReferenceError: toDelete is not defined
در این مثال، delete toDelete
مقدار True را برمیگرداند و تلاش برای دسترسی به متغیر پس از حذف، با خطا مواجه میشود زیرا متغیر دیگر تعریف نشده است.
فیلم آموزش JavaScript ES6 جاوا اسکریپت در تم آف
کلیک کنید
حذف مقادیر آرایه با استفاده از delete در جاوا اسکریپت
آرایههای جاوا اسکریپت همه اشیاء هستند. بنابراین، میتوان از عملگر حذف برای حذف آنها استفاده کرد. با این وجود، این کار مشکل ایجاد میکند، زیرا پس از حذف عنصر از آرایه، این عملگر موقعیت یا مکان عنصر حذف شده را خالی نشان میدهد و طول آرایه را بهروز نمیکند.
let arr = [1, 2, 3]
console.log(delete arr[0]); //true
console.log(arr); //[empty, 2, 3]
خروجی:
true
(3) [2, 3]
در خروجی بالا، طول آرایه که هم اکنون 2 است به روز نشده است و همان 3 را نشان میدهد. این نوعی مشکل بهحساب میآید؛ بنابراین، استفاده از متدهای Pop
، Shift
و Splice
بهوضوح روش بهتری برای حذف عناصر آرایه هستند. استفاده از ویژگی delete
در حلقهها سرعت برنامه را به میزان قابلتوجهی کاهش میدهد. بنابراین، این روش تنها زمانی باید استفاده شود که حذف ویژگی شی کاملاً ضروری باشد.
عملگر کاما در جاوا اسکریپت
عملگر کاما (,) در جاوا اسکریپت، به همان روشی مورد استفاده قرار میگیرد که در بسیاری از زبانهای برنامه نویسی مانند C ،C++ و غیره استفاده میشود. این عملگر عمدتاً عملوندهای خود را از چپ به راست به ترتیب ارزیابی میکند و مقدار عملوند سمت راست را برمیگرداند. عملگر کاما بهعنوان جداکننده برای عبارات متعدد در محلی استفاده میشود که به یک عبارت واحد نیاز دارد. هنگامی که عملگر کاما در یک عبارت قرار میگیرد، هر عبارت را اجرا میکند و سمت راستترین عبارت را برمیگرداند.
سینتکس:
Expression1, Expression2, Expression3, ....so on
در دستور بالا، چند عبارت با استفاده از یک عملگر کاما از هم جدا میشوند. در حین اجرا، هر عبارت از چپ به راست اجرا میشود و سمت راستترین عبارت بازگردانده میشود. مثال زیر این موضوع را نشان میدهد.
function x() {
document.write('Welcome');
return 'Welcome';
}
function y() {
document.write('to');
return 'to';
}
function z() {
document.write('Faradars');
return 'Faradars';
}
// Three expressions are
// given at one place
var x = (x(), y(), z());
document.write(x);
خروجی به صورت زیر است:
Welcome
to
Faradars
Faradars
در خروجی ابتدا تابع x()
سپس y()
و در آخر z()
اجرا میشوند. درنهایت، عملگر کاما سمت راستترین عبارت را برمیگرداند. مفیدترین کاربرد عملگر کاما در حلقهها است. در حلقهها، برای بهروزرسانی چندین متغیر در عبارتی از این عملگر استفاده میشود. مثال:
for (var a = 0, b =5; a
خروجی به صورت زیر است:
0 5
1 4
2 3
3 2
4 1
5 0
عملگرهای اتصال کوتاه جاوا اسکریپت
یکی دیگر از انواع عملگرها در جاوا اسکریپت، عملگرهای اتصال کوتاه هستند. در عملگرهای اتصال کوتاه جاوا اسکریپت، عبارتی از سمت چپ به راست ارزیابی میشود و تا زمانی که تأیید شود که نتیجه شرایط باقیمانده روی نتیجه ارزیابی شده از قبل تأثیری نخواهد داشت، مقدار True بازگردانده خواهد شد. اگر حتی قبل از ارزیابی کامل عبارت، نتیجه واضح باشد، اتصال کوتاه اتفاق میافتد و نتیجه بازگردانده میشود. ارزیابی اتصال کوتاه از کار غیرضروری جلوگیری میکند و منجر به پردازش کارآمد و سریع خواهد شد.
1. عملگر اتصال کوتاه AND در جاوا اسکریپت
در مورد عملگر اتصال کوتاه AND، عبارت تا زمانی ارزیابی میشود که یک نتیجه نادرست به دست آید. اگر عبارتی با AND وجود داشته باشد و خود عملوند اول نادرست باشد، اتصال کوتاه رخ میدهد و در این صورت عبارت بعدی ارزیابی نمیشود و False بازگردانده میشود. مثال زیر این موضوع را بیان میکند.
// Since first operand is false and operator
// is AND, Evaluation stops and false is
// returned.
console.log(false && true && true && false)
// Whole expression will be evaluated.
console.log(true && true && true)
خروجی:
false
true
2. عملگر اتصال کوتاه OR در جاوا اسکریپت
در مورد عملگر اتصال کوتاه OR، عبارت تا زمانی ارزیابی میشود که یک نتیجه درست به دست آید. اگر عبارتی با OR منطقی وجود داشته باشد و خود عملوند اول درست باشد، اتصال کوتاه رخ میدهد، در این صورت ارزیابی متوقف میشود و True بازگردانده میشود. مثال زیر این موضوع را بیان میکند.
// First operand is true and operator is ||,
// evaluation stops and true is returned.
console.log(true || false || false)
// Evaluation stops at the second operand(true).
console.log(false || true || true || false)
خروجی به صورت زیر است:
true
true
عملگر سه تایی جاوا اسکریپت
علامت سؤال (?) یا عملگر شرطی (&) در بین شرط و عبارت، در جاوا اسکریپت نشانگر عملگر سهتایی هستند که سه عملوند را میتوانند بپذیرند. این سه عملوند شامل موارد زیر هستند:
- شرط
- اگر عبارت درست باشد
- اگر عبارت نادرست باشد
ارزیابی شرط باید به مقدار True یا False یا مقدار بولی منجر شود. این عملگر در صورتی که عبارت قبل از “:” ، True باشد اجرا میشود و مقدار True را در خروجی برمیگرداند. بهطور مشابه، مقدار False بعد از “:” قرار دارد و اگر عبارت دوم درست باشد، False را برمیگرداند. سینتکس این عملگر در جاوا اسکریپت به صورت زیر است:
condition ? value if true : value if false
مثال ١:
Input: let result = (10 > 0) ? true : false;
Output: true
Input: let message = (20 > 15) ? "Yes" : "No";
Output: Yes
مثال 2:
function gfg() {
//JavaScript to illustrate
//Conditional operator
let age = 60
let result = (age > 59)?
"Senior Citizen":"Not a Senior Citizen";
document.write(result);
}
gfg();
Senior Citizen
مثال 3: چند عملگر شرطی باهم:
function gfg() {
//JavaScript to illustrate
//multiple Conditional operators
let marks = 95;
let result = (marks
خروجی:
Excellent
عملگر نوع جاوا اسکریپت
در زبان برنامه نویسی جاوا اسکریپت، «عملگر نوع» (Typeof)، نوع داده عملوند خود را در قالب رشته بازمیگرداند. عملوند میتواند هر شی، تابع یا متغیری باشد. سینتکس این عملگر در جاوا اسکریپت به دو صورت زیر است:
typeof operand
or
typeof (operand)
انواع داده احتمالی که این عملگر در جاوا اسکریپت بازمیگرداند، شامل موارد زیر هستند:
- «تعریف نشده» (Undefined)
- «شی» (Object)
- «دودویی» (بولی | Boolean)
- «عدد» (Number)
- «رشته» (String)
- «نماد» (Symbol)
- و سایر موارد
مثال از عملگر نوع در جاوا اسکریپت:
خروجی:
string
number
undefined
عملگر Instanceof در جاوا اسکریپت
آخرین مورد از عملگرها در جاوا اسکریپت، عملگر Instanceof
است. این عملگر در جاوا اسکریپت برای بررسی نوع شی در زمان اجرا استفاده میشود. اگر شرط آن درست باشد مقدار بولی بازمیگرداند و نشان میدهد که شی نمونهای از یک کلاس خاص است و اگر شرط غلط باشد، خاتمه پیدا میکند. سینتکس آن به صورت زیر است:
var gfg = objectName instanceof objectType
مثال:
Faradars
خروجی:
Faradars
true
true
false
false
سخن پایانی
در این مطلب آموزشی از مجله تم آف انواع عملگرها در جاوا اسکریپت همراه با سینتکس و مثالهای متعددی مورد بررسی قرار گرفتند. عملگرها بخشی جداناپذیر از هر زبان برنامه نویسی هستند. برای شروع کار با جاوا اسکریپت، یادگیری عملگرها از اصول پایهای هستند که هر متقاضی این زبان باید با آنها آشنا باشد. بیشتر عملگرهایی که در جاوا اسکریپت مورد استفاده قرار میگیرند، در این مطلب آموزش داده شدند. امید است که این مطلب آموزشی مورد رضایت شما واقع شده باشد.
حلقه for در جاوا اسکریپت — از صفر تا صد + مثال و کد
delete object
// or
delete object.property
// or
delete object['property']
let person = {
firstName: "kamel",
lastName: "bahrami",
phone: 12345
}
console.log(delete person.phone);
console.log(person);
let num = 5;
let sum = (a, b) => {
return a + b;
}
console.log(delete num); //false
console.log(delete sum); //false
toDelete = 5;
// true
console.log(delete toDelete);
// toDelete is not defined
console.log(toDelete);
let arr = [1, 2, 3]
console.log(delete arr[0]); //true
console.log(arr); //[empty, 2, 3]
Expression1, Expression2, Expression3, ....so on
function x() {
document.write('Welcome');
return 'Welcome';
}
function y() {
document.write('to');
return 'to';
}
function z() {
document.write('Faradars');
return 'Faradars';
}
// Three expressions are
// given at one place
var x = (x(), y(), z());
document.write(x);
for (var a = 0, b =5; a
// Since first operand is false and operator
// is AND, Evaluation stops and false is
// returned.
console.log(false && true && true && false)
// Whole expression will be evaluated.
console.log(true && true && true)
// First operand is true and operator is ||,
// evaluation stops and true is returned.
console.log(true || false || false)
// Evaluation stops at the second operand(true).
console.log(false || true || true || false)
condition ? value if true : value if false
Input: let result = (10 > 0) ? true : false;
Output: true
Input: let message = (20 > 15) ? "Yes" : "No";
Output: Yes
function gfg() {
//JavaScript to illustrate
//Conditional operator
let age = 60
let result = (age > 59)?
"Senior Citizen":"Not a Senior Citizen";
document.write(result);
}
gfg();
function gfg() {
//JavaScript to illustrate
//multiple Conditional operators
let marks = 95;
let result = (marks
typeof operand
or
typeof (operand)
var gfg = objectName instanceof objectType
Faradars