برنامه نویسی

بخش (2): عملگرها و عبارات در جاوا اسکریپت

فهرست مطالب

معرفی

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

اگر بخش قبلی را نخوانده اید، توصیه می کنم قبل از ادامه این کار این کار را انجام دهید تا از این بخش بیشترین بهره را ببرید.

اپراتور چیست؟

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

let x = 2;
let y = 3;
let z = x + y; // The + operator adds two numbers (2 and 3) and returns the result, 5.
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

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

  • عملگرهای حسابی – برای انجام عملیات ریاضی روی مقادیر عددی (جمع، تفریق، ضرب و غیره) استفاده می شود.
  • اپراتورهای واگذاری – برای تخصیص مقادیر به متغیرها (برابر، اضافه و اختصاص، تفریق و تخصیص و غیره) استفاده می شود.
  • اپراتورهای مقایسه – برای مقایسه دو مقدار (برابر، بزرگتر، کوچکتر و غیره) استفاده می شود.
  • عملگرهای منطقی – برای تعیین منطق بین متغیرها یا مقادیر (AND، OR، NOT و غیره) استفاده می شود.
  • عملگرهای رشته ای – برای به هم پیوستن دو رشته (جمع، تخصیص جمع و غیره) استفاده می شود.
  • اپراتور مشروط (سه تایی). – به عنوان میانبر برای دستور if استفاده می شود (سه تایی if، else if، else)
  • اپراتورهای بیتی – برای انجام عملیات بیتی بر روی اعداد (AND، OR، XOR، NOT و غیره) استفاده می شود.

بیایید با عملگرهای حسابی شروع کنیم.

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

عملگرهای حسابی برای انجام عملیات ریاضی روی مقادیر عددی (اعداد) استفاده می شوند. در اینجا چند عملگر حسابی رایج در جاوا اسکریپت آورده شده است:

  • عملگر تفریق (-): عملگر تفریق یک عدد را از عدد دیگر کم می کند. در اینجا یک مثال است:
// Subtraction Operator (-) example
let firstNumber = 10;
let secondNumber = 20;
const result = firstNumber - secondNumber;
console.log(result); // Output: -10
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • عملگر ضرب

// Multiplication Operator (*) example
let firstNum = 10;
let secondNum = 20;
const Multiplication = firstNum * secondNum;
console.log(Multiplication); // output: 200
عملگر ضرب دو یا چند عدد را ضرب می کند. مثال:

وارد حالت تمام صفحه شوید

  • از حالت تمام صفحه خارج شوید
    * اپراتور بخش (/)
// Division Operator (/) example
let firstDivide = 30;
let secondDivide = 20;
const Division = firstDivide / secondDivide;
console.log(Division); // output: 1.5
عملگر تقسیم یک عدد را بر عدد دیگر تقسیم می کند. مثال:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • در مرحله بعد، اجازه دهید نگاهی به اپراتور Modulus یا Remainder Operator در جاوا اسکریپت بیندازیم.
    اپراتور مدول (%)
// Modulus Operator (%) example
let firstModulus = 50;
let secondModulus = 20;
const Modulus = firstModulus % secondModulus;
console.log(Modulus); /// Output: 0 (the remainder of 50 / 20 is 10 )
عملگر مدول باقیمانده یک عملیات تقسیم را برمی گرداند. در اینجا چند نمونه آورده شده است:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • در مرحله بعد، اجازه دهید نگاهی به عملگر افزایش در جاوا اسکریپت بیندازیم.
    عملگر افزایش (++)*
// Increment Operator (++) example
let firstIncrement = 10;
firstIncrement++;
console.log(firstIncrement); // output: 11 ( the value of firstIncrement is increased by 1)
عملگر افزایش یک عدد را 1 افزایش می دهد. در اینجا چند مثال آورده شده است:

وارد حالت تمام صفحه شوید

  • از حالت تمام صفحه خارج شوید
    عملگر کاهش (–)
// Decrement Operator (--) example
let firstDecrement = 10;
firstDecrement--;
console.log(firstDecrement); // output: 9 ( the value of firstDecrement is decreased by 1)
عملگر کاهش یک عدد را 1 کاهش می دهد. مثال:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

  • جاوا اسکریپت، عملگرهای انتساب برای تخصیص مقادیر به متغیرها استفاده می شوند. در اینجا چند عملگر تخصیص رایج در جاوا اسکریپت آمده است:
    اپراتور واگذاری ساده (=)
// Assignment Operator (=) example
let Assignment = 10;
console.log(Assignment); // output: 10
عملگر انتساب ساده یک مقدار را به یک متغیر اختصاص می دهد. مثال:

وارد حالت تمام صفحه شوید

  • از حالت تمام صفحه خارج شوید
    اپراتور تخصیص اضافه (+=)
// Addition Assignment Operator (+=) example
let firstAddition = 10;
let secondAddition = 20;
firstAddition += secondAddition;
console.log(firstAddition); // output: 30 (firstAddition = firstAddition + secondAddition)
عملگر تخصیص جمع یک مقدار را به یک متغیر اضافه می کند و نتیجه را به متغیر اختصاص می دهد.

وارد حالت تمام صفحه شوید

  • از حالت تمام صفحه خارج شوید
    عملگر تخصیص تفریق (-=)
// Subtraction Assignment Operator (-=) example

let firstSubtraction = 10;
let secondSubtraction = 20;
firstSubtraction -= secondSubtraction;
console.log(firstSubtraction); // output: -10 (firstSubtraction = firstSubtraction - secondSubtraction)
عملگر تخصیص تفریق مقداری را از یک متغیر کم می کند و نتیجه را به متغیر اختصاص می دهد.

وارد حالت تمام صفحه شوید

  • از حالت تمام صفحه خارج شوید
    عملگر تخصیص ضرب (_=)
// Multiplication Assignment Operator (*=) example

let firstMultiplication = 30;
let secondMultiplication = 40;
firstMultiplication *= secondMultiplication;
console.log(firstMultiplication); // output: 1200 (firstMultiplication = firstMultiplication * secondMultiplication)
عملگر انتساب ضرب یک متغیر را در یک مقدار ضرب می کند و نتیجه را به متغیر اختصاص می دهد.

وارد حالت تمام صفحه شوید

  • از حالت تمام صفحه خارج شوید
    اپراتور واگذاری بخش (/=)
let firstDivision = 2;
let secondDivision = 40;
firstDivision /= secondDivision;
console.log(firstDivision); // output: 0.05 (firstDivision = firstDivision / secondDivision)
عملگر انتساب تقسیم یک متغیر را بر یک مقدار تقسیم می کند و نتیجه را به متغیر اختصاص می دهد.

وارد حالت تمام صفحه شوید

  • از حالت تمام صفحه خارج شوید
    اپراتور واگذاری باقیمانده (%=)
// Modulus Assignment Operator (%=) example

let firstModulusAssignment = 50;
let secondModulusAssignment = 20;
firstModulusAssignment %= secondModulusAssignment;
console.log(firstModulusAssignment); // output: 10 (firstModulusAssignment = firstModulusAssignment % secondModulusAssignment)
عملگر انتساب باقیمانده یک متغیر را بر یک مقدار تقسیم می کند و باقیمانده را به متغیر اختصاص می دهد.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید=, عملگرهای انتساب برای تخصیص مقادیر به متغیرها در جاوا اسکریپت استفاده می شوند. متداول ترین عملگر انتساب استفاده می شود +=که مقداری را به یک متغیر اختصاص می دهد. سایر اپراتورهای واگذاری مانند -=, \*=، /=,، %= و

عملیات حسابی را روی متغیرها انجام دهید و نتیجه را به متغیر اختصاص دهید.

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

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

اپراتورهای مقایسه

  • == عملگرهای مقایسه برای مقایسه دو مقدار استفاده می شوند. در اینجا چند عملگر مقایسه رایج در جاوا اسکریپت آورده شده است:
// Equal to Operator (==) example
let firstEqual = 10;
let secondEqual = 20;
console.log(firstEqual == secondEqual); // output: false
(برابر با عملگر): دو مقدار را با هم مقایسه می کند و در صورت مساوی بودن مقدار true را برمی گرداند.

وارد حالت تمام صفحه شوید

  • != از حالت تمام صفحه خارج شوید
// Not Equal to Operator (!=) example
let firstNotEqual = 10;
let secondNotEqual = 20;
console.log(firstNotEqual != secondNotEqual); // output: true
(نه برابر با اپراتور): دو مقدار را با هم مقایسه می کند و در صورت مساوی نبودن مقدار true را برمی گرداند.

وارد حالت تمام صفحه شوید

  • === از حالت تمام صفحه خارج شوید
// Strict Equal to Operator (===) example
let firstStrictEqual = 70;
let secondStrictEqual = 20;
console.log(firstStrictEqual === secondStrictEqual); // output: false
(Strict Equal to Operator): دو مقدار را برای برابری، از جمله انواع داده های آنها، مقایسه می کند.

وارد حالت تمام صفحه شوید

  • !== از حالت تمام صفحه خارج شوید
// Strict Not Equal to Operator (!==) example
let firstStrictNotEqual = 70;
let secondStrictNotEqual = 20;
console.log(firstStrictNotEqual !== secondStrictNotEqual); // output: true
(Strict Not Equal to Operator): دو مقدار را برای نابرابری، از جمله انواع داده های آنها، مقایسه می کند.

وارد حالت تمام صفحه شوید

  • > از حالت تمام صفحه خارج شوید
// Greater than Operator (>) example
let firstGreater = 100;
let secondGreater = 20;
console.log(firstGreater > secondGreater); // output: true
(بزرگتر از عملگر): دو مقدار را با هم مقایسه می کند و اگر مقدار سمت چپ بزرگتر از مقدار سمت راست باشد، مقدار true را برمی گرداند.

وارد حالت تمام صفحه شوید

  • < از حالت تمام صفحه خارج شوید
// Less than Operator (<) example
let firstLess = 100;
let secondLess = 20;
console.log(firstLess < secondLess); // output: false
(کمتر از عملگر): دو مقدار را با هم مقایسه می کند و اگر مقدار سمت چپ کمتر از مقدار سمت راست باشد مقدار true را برمی گرداند.

وارد حالت تمام صفحه شوید

  • >= از حالت تمام صفحه خارج شوید
// Greater than or Equal to Operator (>=) example
let firstGreaterEqual = 100;

let secondGreaterEqual = 20;

console.log(firstGreaterEqual >= secondGreaterEqual); // output: true
(بزرگتر یا برابر با عملگر): دو مقدار را با هم مقایسه می کند و اگر مقدار سمت چپ بزرگتر یا مساوی با مقدار سمت راست باشد، مقدار true را برمی گرداند.

وارد حالت تمام صفحه شوید

  • <= از حالت تمام صفحه خارج شوید
// Less than or Equal to Operator (<=) example
let firstLessEqual = 100;
let secondLessEqual = 20;
console.log(firstLessEqual <= secondLessEqual); // output: false
(کمتر یا برابر با عملگر): دو مقدار را با هم مقایسه می کند و اگر مقدار سمت چپ کمتر یا مساوی با مقدار سمت راست باشد، مقدار true را برمی گرداند.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

عملگرهای منطقی

  • && عملگرهای منطقی عملیات منطقی را انجام می دهند و یک مقدار بولی، درست یا نادرست، برمی گردانند. در اینجا چند عملگر منطقی رایج در جاوا اسکریپت آمده است:
let firstLogicalAnd = 200;
let secondLogicalAnd = 20;
console.log(
  firstLogicalAnd > secondLogicalAnd && firstLogicalAnd < secondLogicalAnd
); // output: false
(Logical AND Operator): اگر هر دو عملوند true باشند true و در غیر این صورت false برمی گرداند.

وارد حالت تمام صفحه شوید

  • || از حالت تمام صفحه خارج شوید
// Logical OR Operator (||) example

let firstLogicalOr = 200;
let secondLogicalOr = 20;
console.log(
  firstLogicalOr > secondLogicalOr || firstLogicalOr < secondLogicalOr
); // output: true
(اپراتور منطقی یا منطقی): اگر هر یک از عملوندها درست باشد true و در غیر این صورت false را برمی‌گرداند.

وارد حالت تمام صفحه شوید

  • ! از حالت تمام صفحه خارج شوید
// Logical NOT Operator (!) example

let firstLogicalNot = 10;
let secondLogicalNot = 20;
console.log(!(firstLogicalNot > secondLogicalNot)); // output: false
(Logical NOT Operator): برعکس عملوند را برمی گرداند.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

  • + جاوا اسکریپت چندین عملگر رشته ای را ارائه می دهد که می توان از آنها برای دستکاری و به هم پیوستن رشته ها استفاده کرد. در اینجا چند عملگر رشته رایج در جاوا اسکریپت آمده است:
let firstConcatenation = "Hello";
let secondConcatenation = "World";
console.log(firstConcatenation + secondConcatenation); // output: HelloWorld
(اپراتور Concatenation): دو رشته را به هم متصل می کند و یک رشته جدید که ترکیبی از دو رشته است را برمی گرداند.

وارد حالت تمام صفحه شوید

  • += از حالت تمام صفحه خارج شوید
let firstConcatenationAssignment = "Hello";
let secondConcatenationAssignment = "World";
firstConcatenationAssignment += secondConcatenationAssignment;
console.log(firstConcatenationAssignment); // output: HelloWorld
(عملگر انتساب الحاق مرکب): یک رشته را به انتهای یک رشته دیگر متصل می کند و یک رشته جدید که ترکیب دو رشته است را برمی گرداند.

وارد حالت تمام صفحه شوید

  • === از حالت تمام صفحه خارج شوید
// Strict equality operator (===) example

let firstStrictEquality = "Hello";
let secondStrictEquality = "World";
console.log(firstStrictEquality === secondStrictEquality); // output: false
(عملگر تساوی دقیق): دو رشته را برای برابری دقیق مقایسه می کند و اگر برابر باشند true را برمی گرداند.

وارد حالت تمام صفحه شوید

  • !== از حالت تمام صفحه خارج شوید
// Strict inequality operator (!==) example

let firstStrictInequality = "Hello";
let secondStrictInequality = "World";
console.log(firstStrictInequality !== secondStrictInequality); // output: true
(عملگر نابرابری دقیق): دو رشته را برای نابرابری شدید مقایسه می کند و اگر مساوی نباشند مقدار true را برمی گرداند.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید typeof یک نیز وجود دارد

// typeof operator example

let firstTypeof = "Hello";
console.log(typeof firstTypeof); // output: string
عملگر که نوع عملوند را برمی گرداند.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

امیدوارم این موضوع مورد توجه شما قرار بگیرد. بریم سراغ مبحث بعدی.

اپراتور شرطی جاوا اسکریپت (سه تایی).

condition ? value1 : value2;
عملگر شرطی تنها عملگر جاوا اسکریپت است که سه عملوند می گیرد. عملگر می تواند یکی از دو مقدار را بر اساس یک شرط داشته باشد. نحو به شرح زیر است:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

شرایط ارزیابی می شود. اگر درست باشد، مقدار 1 برگردانده می شود، در غیر این صورت، مقدار 2 برگردانده می شود.

// Conditional (Ternary) Operator example
let age = 20;
let isAdult = age >= 18 ? "Yes" : "No";
console.log(isAdult); // output: Yes
در اینجا یک مثال است:

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

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

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

به صورت بیتی و (&)

// Bitwise AND (&) example

let firstBitwiseAnd = 5; // binary: 0101
let secondBitwiseAnd = 3; // binary: 0011
console.log(firstBitwiseAnd & secondBitwiseAnd); // Output: 1 (binary: 0001)
عملگر bitwise AND عددی را برمی‌گرداند که اگر بیت‌های مربوط به هر دو عدد 1 باشد، بیت‌های آن عدد روی 1 تنظیم می‌شوند. در غیر این صورت، 0 را برمی‌گرداند.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بیتی یا (|)

// Bitwise OR (|) example

let firstBitwiseOr = 5; // binary: 0101
let secondBitwiseOr = 3; // binary: 0011
console.log(firstBitwiseOr | secondBitwiseOr); // Output: 7 (binary: 0111)
عملگر bitwise OR عددی را برمی‌گرداند که در آن بیت‌های آن عدد روی 1 تنظیم می‌شوند، اگر بیت‌های مربوط به هر یک از دو عدد 1 باشد. در غیر این صورت، 0 را برمی‌گرداند.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

XOR بیتی (^)

// Bitwise XOR (^) example

let firstBitwiseXor = 30; // binary: 0001 1110
let secondBitwiseXor = 20; // binary: 0001 0100
console.log(firstBitwiseXor ^ secondBitwiseXor); // Output: 10 (binary: 0000 1010)
عملگر بیتی XOR عددی را برمی‌گرداند که در آن بیت‌های آن عدد روی 1 تنظیم می‌شوند اگر بیت‌های متناظر هر یک از دو عدد 1 باشند، اما نه هر دو. در غیر این صورت 0 را برمی گرداند.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به صورت بیتی NOT (~)

// Bitwise NOT (~) example

let firstBitwiseNot = 5; // binary: 0000 0101
console.log(~firstBitwiseNot); // Output: -6 (binary: 1111 1010)
عملگر Bitwise NOT عددی را برمی‌گرداند که در آن بیت‌های آن عدد برگردانده می‌شوند. مکمل یک عدد را برمی گرداند.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

شیفت چپ (<<)

// Left shift (<<) example
let firstBitwiseLeftShift = 5; // binary: 0000 0101
console.log(firstBitwiseLeftShift << 1); // Output: 10 (binary: 0000 1010)
عملگر شیفت چپ عددی را برمی‌گرداند که در آن بیت‌های عدد اول با تعداد مکان‌هایی که توسط عدد دوم مشخص شده است به سمت چپ منتقل می‌شوند. بیت هایی که از سمت چپ شماره جابه جا شده اند کنار گذاشته می شوند. بیت های جابه جا شده در سمت راست با 0 پر می شوند.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

شیفت به راست (>>)

// Right shift (>>) example
let firstBitwiseRightShift = 5; // binary: 0000 0101
console.log(firstBitwiseRightShift >> 1); // Output: 2 (binary: 0000 0010)
عملگر شیفت سمت راست عددی را برمی‌گرداند که در آن بیت‌های عدد اول با تعداد مکان‌های مشخص شده توسط عدد دوم به سمت راست منتقل می‌شوند. بیت هایی که از سمت راست عدد جابه جا شده اند کنار گذاشته می شوند. بیت های جابه جا شده در سمت چپ با 0 پر می شوند.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

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

همه کدها را در GitHub پیدا می کنید شما همچنین می توانید با خیال راحت با من در ارتباط باشید توییتر

و لینکدین

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا