JavaScript Arithmitic

عملگرهای حسابی

:عملگرهای حسابی، اعمال حسابی (جمع، تفریق و ...) را روی اعداد انجام می‌دهند. این اعداد می‌توانند به صورت عدد معمولی
(var x = 100 + 50;) متغیر:
(var x = a + b;) و یا عبارتی مثل:
(var x = (100 + 50) * a;) باشند.

عملگر توضیح
+ عمل جمع
- عمل تفریق
* عمل ضرب
** عمل توان
/ عمل تقسیم
% محاسبه باقیمانده تقسیم
++ اضافه کردن یک واحد
-- کم کردن یک واحد

عمل جمع


<!DOCTYPE HTML>
<html>
  <body>
    <h2> The + Operator </h2>
    <p id = "demo"> </p>
    <script>
      var x = 5;
      var y = 2;
      var z = x + y;
      document.getElementById("demo").innerHTML =
      "The value of z is: " + z;
    </script>
  </body>
</html>

خروجی:

عمل تفریق


<!DOCTYPE HTML>
<html>
  <body>
    <h2> The - Operator </h2>
    <p id = "demo"> </p>
    <script>
      var x = 5;
      var y = 2;
      var z = x - y;
      document.getElementById("demo").innerHTML =
      "The value of z is: " + z;
    </script>
  </body>
</html>

خروجی:

عمل ضرب


<!DOCTYPE HTML>
<html>
  <body>
    <h2> The * Operator </h2>
    <p id = "demo"> </p>
    <script>
      var x = 5;
      var y = 2;
      var z = x * y;
      document.getElementById("demo").innerHTML =
      "The value of z is: " + z;
    </script>
  </body>
</html>

خروجی:

عمل تقسیم


<!DOCTYPE HTML>
<html>
  <body>
    <h2> The / Operator </h2>
    <p id = "demo"> </p>
    <script>
      var x = 5;
      var y = 2;
      var z = x / y;
      document.getElementById("demo").innerHTML =
      "The value of z is: " + z;
    </script>
  </body>
</html>

خروجی:

محاسبه باقی‌مانده


<!DOCTYPE HTML>
<html>
  <body>
    <h2> The % Operator </h2>
    <p id = "demo"> </p>
    <script>
      var x = 5;
      var y = 2;
      var z = x % y;
      document.getElementById("demo").innerHTML =
      "The value of z is: " + z;
    </script>
  </body>
</html>

خروجی:

افزودن (Incrementing)


<!DOCTYPE HTML>
<html>
  <body>
    <h2> The ++ Operator </h2>
    <p id = "demo"> </p>
    <script>
      var x = 5;
      x++;
      var z = x;
      document.getElementById("demo").innerHTML =
      "The value of z is: " + z;
    </script>
  </body>
</html>

خروجی:

در مثال بالا با استفاده از عملگر ++ ابتدا مقدار x را افزایش داده و سپس مقدار نهایی آن را در z ذخیره کرده‌ایم. کد بالا را می‌توان به صورت زیر هم نوشت:

var x = 5;
var z = ++x;

در این حالت هم مقدار x و هم مقدار z هر دو برابر 6 هستند. ولی اگر بخواهیم کد بالا را به شکل زیر بنویسیم:

var x = 5;
var z = x++;

در این حالت مقدار x برابر 6 ولی مقدار z برابر 5 خواهد بود. دلیل این امر آن است که در حالت اخیر وقتی عملگر ++ را به صورت var z = x++; می‌نویسیم، ابتدا x مقدار خود را که 5 است به z تخصیص می‌دهد و سپس مقدارش یک واحد اضافه می‌شود. در حالیکه در حالت var z = ++x; ابتدا مقدار x افزایش می‌یابد و سپس مقدار آن در z ذخیره می‌شود.

کاستن (Decrementing)


<!DOCTYPE HTML>
<html>
  <body>
    <h2> The -- Operator </h2>
    <p id = "demo"> </p>
    <script>
      var x = 5;
      x--;
      var z = x;
      document.getElementById("demo").innerHTML =
      "The value of z is: " + z;
    </script>
  </body>
</html>

خروجی:

در مثال بالا با استفاده از عملگر -- ابتدا مقدار x را کاهش داده و سپس مقدار نهایی آن را در z ذخیره کرده‌ایم. کد بالا را می‌توان به صورت زیر هم نوشت:

var x = 5;
var z = --x;

در این حالت هم مقدار x و هم مقدار z هر دو برابر 4 هستند. ولی اگر بخواهیم کد بالا را به شکل زیر بنویسیم:

var x = 5;
var z = x--;

در این حالت مقدار x برابر 4 ولی مقدار z برابر 5 خواهد بود. دلیل این امر آن است که در حالت اخیر وقتی عملگر -- را به صورت var z = x--; می‌نویسیم، ابتدا x مقدار خود را که 5 است به z تخصیص می‌دهد و سپس مقدارش یک واحد کم می‌شود. در حالیکه در حالت var z = --x; ابتدا مقدار x کاهش می‌یابد و سپس مقدار آن در z ذخیره می‌شود.

عمل توان


<!DOCTYPE HTML>
<html>
  <body>
    <h2> The ** Operator </h2>
    <p id = "demo"> </p>
    <script>
      var x = 5;
      var z = x ** 2;
      document.getElementById("demo").innerHTML =
      "The value of z is: " + z;
    </script>
  </body>
</html>

خروجی:

ترتیب اولویت عملگرها

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

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


<!DOCTYPE HTML>
<html>
  <body>
    <h2> Multiplication has precedence over addition. </h2>
    <p id = "demo"> </p>
    <script>
      document.getElementById("demo").innerHTML = 100 + 50 * 3;
    </script>
  </body>
</html>

خروجی:


<!DOCTYPE HTML>
<html>
  <body>
    <h2> Multiplication has precedence over addition. </h2>
    <h2> But parenthesis has precedence over multiplication. </h2>
    <p id = "demo"> </p>
    <script>
      document.getElementById("demo").innerHTML = (100 + 50) * 3;
    </script>
  </body>
</html>

خروجی: