مشاوره و آموزش تحصیلی ریسمونک
0

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

«عملگرها» (Operators) جزئی جداناپذیر از زبان‌های برنامه نویسی هستند و می‌توانند عملیاتی را روی مقدار یا «عملوند» (Operand) خاصی انجام دهند. عملگرها در جاوا اسکریپت و در سایر زبان‌های برنامه نویسی برای انجام محاسبات ریاضی و منطقی خاص بر روی عملوندها استفاده می‌شوند. در جاوا اسکریپت، عملگرها برای مقایسه مقادیر، انجام عملیات حسابی و غیره به کار می‌روند. در این مطلب آموزشی از مجله ریسمونک قرار است در رابطه با انواع عملگرها در جاوا اسکریپت توضیحاتی همراه با مثال‌های مختلف برای درک آسان انواع عملگرهای رایج ارائه شود.

عملگر چیست؟

در برنامه نویسی کامپیوتری، عملگرها اجزایی هستند که در زبان‌های برنامه نویسی تعریف ‌شده‌اند. این اجزا به طور کلی مانند توابع در برنامه نویسی عمل می‌کنند، اما از نظر نحوی یا معنایی متفاوت هستند. در هر زبان برنامه نویسی معمولاً مجموعه‌ای از عملگرهای داخلی تعریف‌ شده‌اند و در برخی موارد، این زبان‌ها به کاربران اجازه می‌دهند تا معانی جدیدی به عملگرهای موجود اضافه کنند یا حتی عملگرهای کاملاً جدیدی را تعریف کنند.

به بیانی ساده‌تر، عملگر نمادی است که برای انجام عملیات روی عملوندها استفاده می‌شود. عملیات می‌توانند ریاضی یا منطقی باشند. در جاوا اسکریپت انواع مختلفی از عملگرها برای انجام عملیات مختلف وجود دارد که در ادامه این بخش همه آن‌ها مورد بررسی قرار گرفته‌اند.

انواع عملگرها در جاوا اسکریپت

عملگرها در جاوا اسکریپت در دسته‌های مختلفی قرار می‌گیرند که مهم‌ترین آن‌ها شامل موارد زیر هستند:

  • «عملگرهای حسابی» (Arithmetic Operators)
  • «عملگرهای مقایسه» (Arithmetic Operators)
  • «عملگرهای منطقی» (Logical Operators)
  • «عملگرهای انتسابی» (Assignment Operators)
  • «عملگرهای سه‌تایی» (Ternary Operators)
  • «عملگر حذف» (Delete Operators)
  • و سایر موارد

عملگرهای حسابی در جاوا اسکریپت

یکی از شناخته‌شده‌ترین عملگرها در جاوا اسکریپت، عملگرهای حسابی هستند. عملگرهای حسابی جاوا اسکریپت، عملگرهایی هستند که روی مقادیر عددی عملیات انجام می‌دهند و یک مقدار عددی را بازمی‌گردانند. عملگرهای حسابی زیادی در جاوا اسکریپت وجود دارند. در زیر انواع عملگر حسابی جاوا اسکریپت توضیح داده‌ شده است.

عملگر حسابی در جاوا اسکریپت

۱٫ عملگر جمع (+) در جاوا اسکریپت: این عملگر در جاوا اسکریپت دو عملوند عددی را می‌گیرد و مجموع عددی آن‌ها را بازمی‌گرداند. همچنین دو رشته یا عدد را به هم متصل می‌کند. «سینتکس» (Syntax) آن به صورت زیر است:

a + b

۲٫ عملگر تفریق (-) در جاوا اسکریپت: عملگر تفریق، اختلاف دو عملوند را به صورت مقدار عددی به‌عنوان خروجی بازمی‌گرداند. سینتکس آن به صورت زیر است:

a - b

۳٫ عملگر ضرب (*) در جاوا اسکریپت: ضرب (*) دو عملوند را در همدیگر ضرب می‌کند و حاصل را به عنوان خروجی بازمی‌گرداند. سینتکس آن به صورت زیر است:

a * b

۴٫ عملگر تقسیم (/) در جاوا اسکریپت: این عملگر در جاوا اسکریپت دو عملوند را گرفته و عمل تقسیم را برای آنها انجام می‌دهد. برای این عملگر، عملوند سمت راست «مقسوم‌علیه» (Divisor) و عملوند سمت چپ «مقسوم» (Dividend) است.

a / b

۵٫ عملگر باقی‌مانده (%) در جاوا اسکریپت: عملگر باقی‌مانده، مقدار باقی‌مانده حاصل از تقسیم دو عدد را بازمی‌گرداند. قطعه کد زیر مربوط به این عملگر در جاوا اسکریپت است.

a % b

۶٫ عملگر توان (**) در جاوا اسکریپت: عملگر توان، عملوندی را به توان عملوندی دیگر می‌رساند. قطعه کد زیر مربوط به عملگر توان در جاوا اسکریپت است که در آن عملوند سمت راست به‌عنوان توان استفاده می‌شود.

a % b

مثالی از عملگرهای حسابی جاوا اسکریپت:

var x = ۵, y = ۱۰;

var z = x + y; 

z = y - x; 

z = x * y; 

z = y / x; 

z = x % ۲; 

z = y ** x;

خروجی عملیات فوق در ادامه آمده است:

۱۵

۵

۵۰

۲

۰

۱۰۰۰۰۰

عملگرهای افزایش و کاهش در جاوا اسکریپت

عملگرهای افزایش و کاهش در جاوا اسکریپت نوعی دیگر از عملگرهای حسابی هستند که شرح و مثال مربوط به آن‌ها به صورت زیر است:

عملگر افزایش (++) در جاوا اسکریپت

این عملگر در جاوا اسکریپت، عملوند خود را افزایش می‌دهد (یکی به آن اضافه می‌کند) و مقداری را بازمی‌گرداند.

  • اگر از عملگر به صورت پسوندی استفاده شود (مثلاً ++x)، این عملگر ابتدا متغیر x را برمی‌گرداند و بعد یک واحد به آن اضافه می‌کند.
  • اگر عملگر به صورت پیشوندی استفاده شود (مثلاً x++)، ابتدا به متغیر x یک واحد اضافه می‌کند و بعد آن را برمی‌گرداند.

سینتکس عملگر افزایش در جاوا اسکریپت به صورت زیر است:

a++ or ++a

عملگر کاهش (–) در جاوا اسکریپت

این عملگر از میان عملگرها در جاوا اسکریپت عملوند خود را کاهش می‌دهد (یکی از آن کم می‌کند) و مقداری را برمی‌گرداند.

  • اگر از این علامت به صورت پسوندی استفاده شود، (مثلاً –x)، این عملگر ابتدا متغیر x را برمی‌گرداند و بعد یک واحد از آن کم می‌کند.
  • اگر عملگر به صورت پیشوندی استفاده شود، (مثلاً x–)، ابتدا از متغیر x یک واحد کم می‌کند و بعد آن را برمی‌گرداند.

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

a-- or --a

مثالی از عملگرهای کاهش و افزایش در جاوا اسکریپت در زیر آورده شده است.

<!DOCTYPE html>
<html>
<body>
	<h1>Demo: JavaScript ++ and -- Operators</h1>
	<p>x = ۵;</p>
	<p id="p1">x++=</p>
	<p id="p2">x=</p>
	<p id="p3">++x=</p>
	<p id="p4">x--=</p>
	<p id="p5">x=</p>
	<p id="p6">--x=</p>
	
	<script>
		var x = ۵;

		document.getElementById("p1").innerHTML += x++; //post increment
		document.getElementById("p2").innerHTML += x;   // value changes here

		document.getElementById("p3").innerHTML += ++x; //pre increment & value changes here

		document.getElementById("p4").innerHTML += x--; //post decrement
		document.getElementById("p5").innerHTML += x; //value changes here

		document.getElementById("p6").innerHTML += --x; //pre decrement and value changes here

    </script>
</body>
</html>

خروجی به شکل زیر خواهد بود:

x = 5;

x++=5

x=6

++x=7

x--=7

x=6

--x=5

عملگرهای یکانی در جاوا اسکریپت

عملگرهای جاوا اسکریپت از نوع یکانی(یکین | Unary) ، یکی دیگر از عملگرهای مهمی هستند که کاربرد مختص به خودشان را دارند. انواع عملگرهای Unary عبارت‌اند از:

  • Unary (-)‎
  • Unary (+)‎

Unary (-)‎: این عملگر در جاوا اسکریپت، بر روی عملوندی واحد عمل می‌کند و نفی عملوند را به عنوان خروجی بازمی‌گرداند. یعنی مقادیر مثبت را به منفی و مقادیر منفی را به مثبت تبدیل خواهد کرد. برای مثال اگر در عبارت Unary (x)‎  مقدار متغیر برابر ٣ باشد، یعنی x=3 باشد، x- برابر با ۳- می‌شود و برعکس. سینتکس این عملگر در جاوا اسکریپت به صورت زیر است:

-a

مثالی از عملگر Unary (-)‎:

var a = ۳;
b = -a; gives b = -۳, a = ۳
// Unary negation operator
// can convert non-numbers
// into a number
var a = "۳";
b = -a; gives b = -۳

Unary (+)‎: این عملگر در جاوا اسکریپت برای تبدیل یک مقدار غیر عددی به مقدار عددی به کار گرفته می‌شود. این عملگر سریع ترین و بهترین روش برای تبدیل مقادیر غیر عددی به عدد است، زیرا هیچ عملیات اضافی را روی عدد انجام نمی‌دهد. سینتکس آن به صورت زیر است:

+a

مثالی از عملگر Unary (+)‎:

+۴     gives ۴
+'۲'   gives ۲
+true  gives ۱
+false gives ۰
+null  gives ۰

عملگر انتسابی در جاوا اسکریپت

نوعی دیگر از انواع عملگرها در جاوا اسکریپت، «عملگر انتسابی» (Assignment operators) است. علامت عملگر انتسابی (=) است و مقدار عملوند سمت راست را به عملوند سمت چپ خود اختصاص می‌دهد. یعنی اگر a = b باشد، مقدار b را به a اختصاص دهد.

انواع عملگر انتسابی در جاوا اسکریپت

عملگر انتسابی ساده برای تخصیص مقداری به یک متغیر استفاده می‌شود. عملیات انتساب به مقدار اختصاص داده‌ شده ارزیابی می‌شود. اعمال کردن عملگر انتساب به‌منظور اختصاص یک مقدار واحد به چندین متغیر یا مکان، امکان‌پذیر است و سینتکس آن در جاوا اسکریپت به صورت زیر خواهد بود:

data=value

مثالی ساده از عملگر انتسابی در جاوا اسکریپت:

// Lets take some variables
x=۱۰
y=۲۰
x=y // Here, x is equal to 20
y=x // Here, y is equal to 10

تعداد زیادی از عملگرهای انتسابی دیگر در جاوا اسکریپت وجود دارند که معرفی و شرح هرکدام در جدول و توضیحات زیر آمده است:

نام عملگرنشانی اختصارینشانی اصلی و مفهوم عملگر
عملگر انتسابی جمعa+=ba=a+b
عملگر انتسابی تفریقa-=ba=a-b
عملگر انتسابی ضربa*=ba=a*b
عملگر انتسابی تقسیمa/=ba=a/b
عملگر انتسابی باقی ماندهa%=ba=a%b
عملگر انتسابی توانa**=ba=a**b
عملگر انتسابی شیفت به چپa<<=ba=a<<b
عملگر انتسابی شیفت به راستa>>=ba=a>>b
عملگر انتسابی ANDa&=ba=a&b
عملگر انتسابی ORa|=ba=a | b
عملگر انتسابی XORa^=ba=a^b

۱٫ عملگر انتسابی جمع

این عملگر مقدار عملوند سمت راست را به متغیر اضافه می‌کند و نتیجه را به متغیر اختصاص می‌دهد. نوع دو عملوند رفتار عملگر انتسابی جمع را تعیین می‌کند. اضافه کردن یا الحاق کردن با این عملگر در جاوا اسکریپت، امکان پذیر است. در این عملیات، از رشته هم می‌توان به عنوان عملوند استفاده کرد. مثال زیر در رابطه با عملگر انتسابی در جاوا اسکریپت است:

var x = ۵۰;
var x = x+۳; 
OR
var x += ۳; 

خروجی به صورت زیر خواهد بود:

۵۳
۵۳

۲٫ عملگر انتسابی تفریق در جاوا اسکریپت

این عملگر مقدار عملوند سمت راست را از یک متغیر کم کرده و نتیجه را به همان متغیر اختصاص می‌دهد. مثال زیر این مفهوم را بیان می‌کند.

var x = ۵۰;
var x = x - ۵;
OR
var x -= ۵; 

خروجی به صورت زیر خواهد بود:

۴۵
۴۵

۳٫ عملگر انتسابی ضرب در جاوا اسکریپت

این عملگر یک متغیر را در مقدار عملوند سمت راست ضرب می‌کند و نتیجه را به متغیر اختصاص می‌دهد. مثال زیر مربوط به این عملگر است:

var x = ۵۰;
var x = x * ۲; 
OR
var x *= ۲; 

خروجی به صورت زیر خواهد بود:

۱۰۰
۱۰۰

۴٫ عملگر انتسابی تقسیم در جاوا اسکریپت

این عملگر در جاوا اسکریپت، یک متغیر را بر مقدار عملوند سمت راست تقسیم می‌کند و نتیجه را به متغیر اختصاص می‌دهد. مثال زیر مربوط به این عملگر است:

var x = ۵۰;
var x = x / ۲;
OR
var x /= ۲; 

خروجی:

۲۵
۲۵

۵٫ عملگر انتسابی باقی‌مانده

این عملگر یک متغیر را بر مقدار عملوند سمت راست تقسیم می‌کند و باقی‌مانده را به عنوان خروجی بازمی‌گرداند. مثال زیر مربوط به این عملگر است:

let yoo=۵۰;
document.write(yoo%=۱۰); 

خروجی:

۰

۶٫ عملگر انتسابی توان در جاوا اسکریپت

این عملگر مقدار یک متغیر را به توان عملوند سمت می‌رساند. مثال زیر مربوط به این عملگر است:

let yoo=۲;
const moo=۲;
// ۲ raise to the power 2
document.write(yoo**=moo);

خروجی:

۴

۷٫ عملگر انتسابی شیفت به چپ در جاوا اسکریپت

این عملگر بیت‌های دودویی مقدار متغیر مربوطه را به تعداد تعیین شده به سمت چپ منتقل می‌کند و نتیجه را به متغیر اختصاص می‌دهد. مثال:

var yoo=۵; // ۱۰۱
document.write(yoo<<=۲);// ۲۰(In Binary 10100)

خروجی:

۲۰

۸٫ عملگر انتسابی شیفت به راست در جاوا اسکریپت

این عملگر در جاوا اسکریپت، بیت‌های دودویی مقدار متغیر را به تعداد واحد تعیین شده به سمت راست منتقل می‌کند و نتیجه را به همان متغیر اختصاص می‌دهد. مثال:

var yoo=۵;

document.write(yoo>>=۲); 
۱

۹٫ عملگر انتسابی AND در جاوا اکسریپت

این عملگر در جاوا اسکریپت از نمایش باینری هر دو عملوند استفاده می‌کند، یک عملیات AND بیتی روی آن‌ها انجام می‌دهد و نتیجه را به متغیر اختصاص می‌دهد. مثال:

var yoo=۵;
document.write(yoo&=۲); // ۰۰۰

خروجی:

۰

۱۰٫ عملگر انتسابی OR در جاوا اسکریپت

این عملگر از نمایش باینری هر دو عملوند استفاده می‌کند، عملیات OR را به صورت بیتی روی آن‌ها انجام می‌دهد و نتیجه را به متغیر اختصاص می‌دهد. مثال:

var yoo=۵;
// ۷(In binary: 111)
document.write(yoo|=۲);

خروجی:

۷

۱۱٫ عملگر انتسابی Xor در جاوا اسکریپت

این عملگر نیز از نمایش دودویی هر دو عملوند استفاده می‌کند، یک عملیات XOR بیتی روی آن‌ها انجام می‌دهد و نتیجه را به متغیر اختصاص می‌دهد. مثال:

var yoo=۵;
document.write(yoo^=۲); // ۱۱۱

خروجی:

۷

عملگرهای مقایسه ‌ای در جاوا اسکریپت

این بخش از مقاله، مربوط به «عملگرهای مقایسه‌ای» (Comparison Operators) و پیاده‌سازی آن‌ها در جاوا اسکریپت است. عملگرهای مقایسه‌ای در میان انواع عملگرها در جاوا اسکریپت، عمدتاً برای انجام عملیات منطقی که برابری یا عدم برابری بین مقادیر را تعیین می‌کنند، استفاده می‌شوند.

عملگرهای مقایسه ای در جاوا اسکریپت

این عملگرها برای انجام محاسبات ریاضی و منطقی خاص روی عملوندها استفاده می‌شوند. جاوا اسکریپت مانند C ،C++ ،Java ،Python و زبان‌های مختلف دیگر از عملیات مقایسه پشتیبانی می‌کند. عملگرهای مقایسه در عبارات منطقی برای تعیین برابری یا تفاوت آن‌ها در متغیرها یا مقادیر استفاده می‌شود. در زیر مثالی از عملگرهای مقایسه‌ای آورده شده است.

function gfg() {
	let val1 = ۵;
	// Equality Operators
	document.write(val1 == ۵);
	document.write("<br>");

	// Relational Operators
	document.write(val1 > ۰);
	}
	gfg();

خروجی به صورت زیر خواهد بود:

true
true

عملگرهای مقایسه‌ای مختلفی وجود دارند که در جاوا اسکریپت پشتیبانی می‌شوند که در دو دسته زیر قرار می‌گیرند:

  • عملگرهای برابری
  • عملگرهای رابطه‌ای

هر دو عملگر در بخش بعد از طریق مثال‌ها مورد بحث واقع خواهند شد.

عملگرهای برابری در جاوا اسکریپت

در این بخش به شرح هر یک از انواع عملگرهای برابری در جاوا اسکریپت پرداخته شده است.

۱٫ عملگر برابری در جاوا اسکریپت

این عملگر در جاوا اسکریپت، برای مقایسه برابری دو عملوند استفاده می‌شود. اگر برابر باشد، شرط درست است در غیر این صورت نادرست است. سینتکس آن به صورت زیر است:

x == y

مثال ۱: مثال زیر عملگر برابری را در جاوا اسکریپت نشان می‌دهد.

// Illustration of (==) operator
	let val1 = ۵;
	let val2 = '۵';
	// Checking of operands
	console.log(val1 == ۵);
	console.log(val2 == ۵);		
	console.log(val1 == val1);
	// Check against null and boolean value
	console.log(۰ == false);
	console.log(۰ == null);

خروجی به صورت زیر خواهد بود:

> true
> true
> true
> true
> false

۲٫ عملگر نابرابری در جاوا اسکریپت

عملگر نابرابری در جاوا اسکریپت برای مقایسه نابرابری دو عملوند استفاده می‌شود. اگر برابر باشد، شرط نادرست و در غیر این صورت درست است. سینتکس و مثال آن به صورت زیر خواهد بود:

x != y

مثال:

// Illustration of (!=) operator
	let val1 = ۵;
	let val2 = '۵';
	// Checking of operands
	console.log(val1 != ۶);
	console.log(val2 != '۵');		
	console.log(val1 != val1);
	// Check against null and boolean value
	console.log(۰ != false);
	console.log(۰ != null);

خروجی:

> true
> false
> false
> false
> true

۳٫ عملگر برابری دقیق در جاوا اسکریپت

این عملگر در جاوا اسکریپت، برای مقایسه برابری دو عملوند هم از لحاظ مقدار و هم از لحاظ نوع استفاده می‌شود. . اگر مقدار و نوع هر دو عملوند برابر باشند، شرط درست و در غیر این صورت نادرست است. سینتکس عملگر برابری دقیق در جاوا اسکریپت به صورت زیر خواهد بود:

x === y

مثال:

// Illustration of (===) operator
	let val1 = ۵;
	let val2 = '۵';
	// Checking of operands
	console.log(val1 === ۶);
	console.log(val2 === '۵');		
	console.log(val1 === val1);
	// Check against null and boolean value
	console.log(۰ === false);
	console.log(۰ === null);

خروجی:

> false
> true
> true
> false
> false

۴٫ عملگر نابرابری شدید در جاوا اسکریپت

این عملگر برای مقایسه نابرابری دو عملوند با نوع استفاده می‌شود. اگر مقدار و نوع نابرابر باشند، شرط درست و در غیر این صورت نادرست است. سینتکس آن به صورت زیر خواهد بود:

x !== y
// Illustration of (!==) operator
let val1 = ۵;
let val2 = '۵';
// Checking of operands
console.log(val1 !== ۶);
console.log(val2 !== '۵');		
console.log(val1 !== val1);
// Check against null and boolean value
console.log(۰ !== false);
console.log(۰ !== null);

خروجی آن به صورت زیر است:

> true
> false
> false
> true
> true
مطلب پیشنهادی:

تابع های جاوا اسکریپت — راهنمای جامع

شروع مطالعه

عملگرهای مقایسه‌ای رابطه‌ای در جاوا اسکریپت

نوعی دیگر از عملگرها در جاوا اسکریپت، عملگرهای رابطه‌ای هستند که در ادامه هرکدام همراه با سینتکس و مثال شرح داده شده است.

۱٫ عملگر مقایسه بزرگتری (<)

این عملگر برای بررسی اینکه آیا مقدار سمت چپ بزرگتر از مقدار سمت راست است یا خیر استفاده می‌شود. اگر مقدار بیشتر باشد، شرط درست و در غیر این صورت نادرست است. سینتکس آن به صورت زیر خواهد بود:

x > y

مثال:

// Illustration of (>) operator
let val1 = ۵;
let val2 = "۵";
// Checking of operands
console.log(val1 > ۰);
console.log(val2 > "۱۰");		
console.log(val1 > "۱۰");
console.log(val2 > ۰);

خروجی آن به صورت زیر است:

> true
> true
> false
> true

۲٫ عملگر بزرگتر مساوی در جاو اسکریپت (=<)

این عملگر برای بررسی اینکه آیا عملوند سمت چپ بزرگتر یا مساوی با عملوند سمت راست است یا خیر استفاده می‌شود. اگر مقدار بزرگتر یا مساوی باشد، شرط درست و در غیر این صورت نادرست است. سینتکس عملگر بزرگتر مساوی در جاوا اسکریپت به صورت زیر خواهد بود:

x >= y

مثال:

// Illustration of (>=) operator
let val1 = ۵;
let val2 = "۵";
// Checking of operands
console.log(val1 >= ۵);
console.log(val2 >= "۱۵");		
console.log(val1 >= "۵");
console.log(val2 >= ۱۵);

خروجی:

> true
> true
> true
> false

۳٫ عملگر کوچکتر یا کمتر (>) در جاوا اسکریپت:

این عملگر در جاوا اسکریپت، برای بررسی اینکه آیا مقدار سمت چپ کمتر از مقدار سمت راست است یا خیر استفاده می‌شود. اگر اینطور باشد، شرط درست و در غیر این صورت نادرست است. سینتکس این عملگر به صورت زیر خواهد بود:

x < y

مثال:

// Illustration of (<) operator
let val1 = ۵;
let val2 = "۵";

// Checking of operands
console.log(val1 < ۱۵);
console.log(val2 < "۰");		
console.log(val1 < "۰");
console.log(val2 < ۱۵);

خروجی:

> true
> false
> false
> true

۴٫ عملگر کمتر یا مساوی (=>) در جاوا اسکریپت:

این عملگر برای بررسی اینکه آیا مقدار عملوند سمت چپ کمتر یا مساوی با مقدار عملوند سمت راست است یا خیر استفاده می‌شود. اگر اینطور باشد، شرط درست و در غیر این صورت نادرست است. سینتکس این عملگر به صورت زیر خواهد بود:

x <= y

مثال:

// Illustration of (<=) operator
let val1 = ۵;
let val2 = "۵";
// Checking of operands
console.log(val1 <= ۱۵);
console.log(val2 <= "۰");		
console.log(val1 <= "۰");
console.log(val2 <= ۱۵);

خروجی:

> true
> false
> false
> true

عملگرهای بیتی جاوا اسکریپت

جاوا اسکریپت مانند زبان C ،C++‎، جاوا، پایتون و زبان‌های مختلف دیگر از عملیات بیتی پشتیبانی می‌کند. در جاوا اسکریپت، یک عدد به‌ عنوان یک عدد ممیز شناور ۶۴ بیتی ذخیره می‌شود، اما عملیات بیتی بر روی اعدد باینری ۳۲ بیتی قابل انجام است، یعنی برای انجام عملیات بیتی، جاوا اسکریپت عدد را به عددی ۳۲ بیتی تبدیل می‌کند و عملیات را انجام می‌دهد و نتیجه را به عنوان عددی ۶۴ بیتی بازمی‌گرداند. در زیر انواع عملگرهای جاوا اسکریپت از نوع بیتی توضیح و برای هر یک مثالی آورده شده است.

عملگر بیتی در جاوا اسکریپت

۱٫ عملگر بیتی AND ( & ) در جاوا اسکریپت

این عملگر باینری در جاوا اسکریپت دو عملوند را می‌پذیرد. در عملگر AND اگر هر دو بیت درست باشند (یعنی ۱)، نتیجه همیشه درست (۱) و در هر حالت دیگری این عملگر ۰ را برمی‌گرداند. جدول زیر حالت‌های مختلف این عملگر را نشان می‌دهد:

ABخروجی
۰۰۰
۰۱۰
۱۰۰
۱۱۱

۲٫ عملگر بیتی OR (|) در جاوا اسکریپت

این عملگر باینری نیز دو عملوند را می‌پذیرد. اگر هر یک از عملوندها غلط باشند (یعنی ۰) نتیجه ۰ است و در هر حالت دیگری ۱ را برمی‌گرداند. جدول زیر حالت‌های مختلف این عملگر را نشان می‌دهد:

ABخروجی
۰۰۰
۱۰۱
۰۱۱
۱۱۱

۳٫ عملگر بیتی XOR (^) در جاوا اسکریپت

این هم عملگری باینری است یعنی دو عملوند را می‌پذیرد. اگر هر دو عملوند متفاوت باشند، نتیجه ۱ و در هر حالت دیگری ۰ را برمی‌گرداند. جدول زیر حالت‌های مختلف این عملگر را نشان می‌دهد:

ABخروجی
۰۰۰
۰۱۱
۱۰۱
۱۱۰

۴٫ عملگر بیتی NOT (~) در جاوا اسکریپت

NOT عملگری یکنواخت به حساب می‌آید، یعنی عملوندهای منفرد را می‌پذیرد. با این عملگر، ۰ تبدیل به ۱ و ۱ تبدیل به ۰ می‌شود. جدول زیر حالت‌های مختلف این عملگر را نشان می‌دهد:

AA~
۱۰
۰۱

۵٫ عملگر باینری شیف به چپ  (>>)

این عملگر نیز باینری است و دو عملوند را می‌پذیرد. عمولند اول مقدار عدد اول در نمایش بیتی و عملوند دوم تعداد بیت‌هایی را مشخص می‌کند که باید تغییر کنند. هر بیت به سمت چپ منتقل می‌شود و ۰ بیت از سمت راست اضافه می‌شود. همچنین بیت‌های اضافی از سمت چپ دور ریخته خواهند شد. جدول زیر حالت‌های مختلف این عملگر را نشان می‌دهد:

A۶ ( ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱۱۰ )
B۱ ( ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱ )
خروجی A << B۱۲ ( ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱۱۰۰ )

۶٫ عملگر باینری شیفت به راست (<<)

این عملگر نیز باینری است. عملوند اول مقدار عدد اول در نمایش بیتی و عملوند دوم تعداد بیت‌هایی را مشخص می‌کند که باید تغییر کنند. با این عملگر هر بیت به سمت راست منتقل می‌شود و بیت‌های سرریز دور انداخته خواهند شد. جدول زیر حالت‌های مختلف این عملگر را نشان می‌دهد.

A۶ ( ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱۱۰ )
B۱ ( ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱ )
خروجی A >> B۳ ( ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱۱ )

۷٫ عملگر Right Shift ( <<< )

در این عملگر باینری، عملوند اول نمایش بیتی عدد و عملوند دوم تعداد بیت‌هایی را که باید تغییر کنند را مشخص می‌کنند. هر بیت به سمت راست منتقل می‌شود و بیت‌های سرریز دور انداخته خواهند شد. ۰ بیت از سمت چپ اضافه می‌شود تا صفرها در سمت راست پر شود. جدول زیر حالت‌های مختلف این عملگر را نشان می‌دهد:

A۶ ( ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱۱۰ )
B۱ ( ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱ )
خروجی A >>> B۳ ( ۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱۱ )

مثال برای عملگرها در جاوا اسکریپت از نوع باینری:

<script>
var a = ۶;
var b = ۱;

// AND Operation
document.write("A & B = " + (a & b) + '<br>');


// OR operation
document.write("A | B = " + (a | b) + '<br>');

// NOT operation
document.write("~A = " + (~a) + '<br>');


// Sign Propagating Right Shift
document.write("A >> B = " + (a >> b) + '<br>');


// Zero Fill Right Shift
document.write("A >>> B = " + (a >>> b) + '<br>');


// Left Shift
document.write("A << B = " + (a << b) + '<br>');
</script>						

خروجی:

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: ۱۲۳۴۵
	}

	console.log(delete person.phone);
	console.log(person);

خروجی:

true
(۲) {firstName: "kamel", lastName: "bahr...}
firstName
:
"kamel"
lastName
:
"bahrami"

همان‌طور که خروجی بالا نشان می‌دهد، delete person.phone  مقدار True بازمی‌گرداند. حال در بخش زیر از عملگر حذف در جاوا اسکریپت برای حذف یک متغیر و یک تابع استفاده شده است. مثال:

	let num = ۵;
	let sum = (a, b) => {
		return a + b;
	}
	console.log(delete num); //false
	console.log(delete sum); //false

خروجی:

false
false

از آنجایی که عملگر حذف، برای متغیرها یا تابع کار نمی‌کند، False را برمی‌گرداند و متغیرها و توابع واقعی دست نخورده باقی می‌مانند. نکته دیگری که باید در نظر داشت این است که این عملگر ارزش ویژگی را حذف نمی‌کند بلکه خود ویژگی را حذف می‌کند.

استثنا: متغیرهای سراسری را می توان با استفاده از عملگر حذف در جاوا اسکریپت حذف کرد. مثال:

toDelete = ۵;
// 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 را برمی‌گرداند و تلاش برای دسترسی به متغیر پس از حذف، با خطا مواجه می‌شود زیرا متغیر دیگر تعریف نشده است.

حذف مقادیر آرایه با استفاده از delete در جاوا اسکریپت

آرایه‌های جاوا اسکریپت همه اشیاء هستند. بنابراین، می‌توان از عملگر حذف برای حذف آنها استفاده کرد. با این وجود، این کار مشکل ایجاد می‌کند، زیرا پس از حذف عنصر از آرایه، این عملگر موقعیت یا مکان عنصر حذف شده را خالی نشان می‌دهد و طول آرایه را به‌روز نمی‌کند.

let arr = [۱, ۲, ۳]
console.log(delete arr[۰]); //true
console.log(arr); //[empty, 2, 3]

خروجی:

true
(۳) [۲, ۳]

در خروجی بالا، طول آرایه که هم اکنون ۲ است به روز نشده است و همان ۳ را نشان می‌دهد. این نوعی مشکل به‌حساب می‌آید؛ بنابراین، استفاده از متدهای 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 = ۰, b =۵; a <= ۵; a++, b--) {
document.write(a, b);
}

خروجی به صورت زیر است:

۰ ۵
۱ ۴
۲ ۳
۳ ۲
۴ ۱
۵ ۰

عملگرهای اتصال کوتاه جاوا اسکریپت

یکی دیگر از انواع عملگرها در جاوا اسکریپت، عملگرهای اتصال کوتاه هستند. در عملگرهای اتصال کوتاه جاوا اسکریپت، عبارتی از سمت چپ به راست ارزیابی می‌شود و تا زمانی که تأیید شود که نتیجه شرایط باقیمانده روی نتیجه ارزیابی شده از قبل تأثیری نخواهد داشت، مقدار True بازگردانده خواهد شد. اگر حتی قبل از ارزیابی کامل عبارت، نتیجه واضح باشد، اتصال کوتاه اتفاق می‌افتد و نتیجه بازگردانده می‌شود. ارزیابی اتصال کوتاه از کار غیرضروری جلوگیری می‌کند و منجر به پردازش کارآمد و سریع خواهد شد.

عملگر تاصال کوتاه در جاوا اسکریپت

۱٫ عملگر اتصال کوتاه 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

۲٫ عملگر اتصال کوتاه 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 = (۱۰ > ۰) ? true : false;
Output: true

Input: let message = (۲۰ > ۱۵) ? "Yes" : "No";
Output: Yes

مثال ۲:

function gfg() {
	//JavaScript to illustrate
	//Conditional operator
	let age = ۶۰
	let result = (age > ۵۹)?
		"Senior Citizen":"Not a Senior Citizen";
	document.write(result);
	}
	gfg();
Senior Citizen

مثال ۳: چند عملگر شرطی باهم:

function gfg() {
//JavaScript to illustrate
//multiple Conditional operators
let marks = ۹۵;
let result = (marks < ۴۰) ? "Unsatisfactory" :
		(marks < ۶۰) ? "Average" :
		(marks < ۸۰) ? "Good" : "Excellent" ;

document.write(result);
}
gfg();

خروجی:

Excellent

عملگر نوع جاوا اسکریپت

در زبان برنامه نویسی جاوا اسکریپت، «عملگر نوع» (Typeof)، نوع داده عملوند خود را در قالب رشته بازمی‌گرداند. عملوند می‌تواند هر شی، تابع یا متغیری باشد. سینتکس این عملگر در جاوا اسکریپت به دو صورت زیر است:

typeof operand
or
typeof (operand)

انواع داده احتمالی که این عملگر در جاوا اسکریپت بازمی‌گرداند، شامل موارد زیر هستند:

  • «تعریف نشده» (Undefined)
  •  «شی» (Object)
  • «دودویی» (بولی | Boolean)
  • «عدد» (Number)
  • «رشته» (String)
  • «نماد» (Symbol)
  • و سایر موارد

مثال از عملگر نوع در جاوا اسکریپت:

<script>
// "string"
document.write(typeof 'Faradars'+"<br>")

// "number"
document.write(typeof ۲۵ +"<br>")

// "undefined"
document.write(typeof variable)
</script>

خروجی:

string
number
undefined

عملگر Instanceof در جاوا اسکریپت

آخرین مورد از عملگرها در جاوا اسکریپت، عملگر Instanceof  است. این عملگر در جاوا اسکریپت برای بررسی نوع شی در زمان اجرا استفاده می‌شود. اگر شرط آن درست باشد مقدار بولی بازمی‌گرداند و نشان می‌دهد که شی نمونه‌ای از یک کلاس خاص است و اگر شرط غلط باشد، خاتمه پیدا می‌کند. سینتکس آن به صورت زیر است:

var gfg = objectName instanceof objectType

مثال:

<!DOCTYPE html>
<html>
<body>
	<center>
		<h1 style="color:green">Faradars</h1>
		<p id="GFG"></p>
		<script>
			var fruits = ["Apple", "Mango", "Banana"];
			document.getElementById("GFG").innerHTML =
				(fruits instanceof Array) + "<br>" +
				(fruits instanceof Object) + "<br>" +
				(fruits instanceof String) + "<br>" +
				(fruits instanceof Number);
		</script>
	</center>
</body>
</html>

خروجی:

Faradars
true
true
false
false

سخن پایانی

در این مطلب آموزشی از مجله ریسمونک انواع عملگرها در جاوا اسکریپت همراه با سینتکس و مثال‌های متعددی مورد بررسی قرار گرفتند. عملگرها بخشی جداناپذیر از هر زبان برنامه نویسی هستند. برای شروع کار با جاوا اسکریپت، یادگیری عملگرها از اصول پایه‌ای هستند که هر متقاضی این زبان باید با آن‌ها آشنا باشد. بیشتر عملگرهایی که در جاوا اسکریپت مورد استفاده قرار می‌گیرند، در این مطلب آموزش داده شدند. امید است که این مطلب آموزشی مورد رضایت شما واقع‌ شده باشد.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *