Friday, July 5, 2024

[Javascript] – Phần11: JavaScript Arithmetic

-

Các toán tử số học trong JavaScript thực hiện các phép toán số học trên các số (literals hoặc variables).

Dưới đây là danh sách các toán tử số học:

  • + (Cộng): Thực hiện phép cộng hai số. Ví dụ: let x = 100 + 50; sẽ gán giá trị 150 cho biến x.
  • – (Trừ): Thực hiện phép trừ hai số. Ví dụ: let y = 100 - 50; sẽ gán giá trị 50 cho biến y.
  • *** (Nhân)**: Thực hiện phép nhân hai số. Ví dụ: let z = 5 * 10; sẽ gán giá trị 50 cho biến z.
  • ** (Lũy thừa): Thực hiện phép tính lũy thừa. Đây là một tính năng mới từ ES2016. Ví dụ: let a = 2 ** 3; sẽ gán giá trị 8 cho biến a, vì 2 lũy thừa 3 bằng 8.
  • / (Chia): Thực hiện phép chia hai số. Ví dụ: let b = 10 / 2; sẽ gán giá trị 5 cho biến b.
  • % (Modulus – Chia lấy dư): Thực hiện phép chia hai số và trả về phần dư. Ví dụ: let c = 10 % 3; sẽ gán giá trị 1 cho biến c, vì 10 chia 3 có phần dư là 1.
  • ++ (Tăng dần): Tăng giá trị của một biến lên 1 đơn vị. Ví dụ: let count = 5; count++; sẽ tăng giá trị của count lên 6.
  • — (Giảm dần): Giảm giá trị của một biến đi 1 đơn vị. Ví dụ: let score = 10; score--; sẽ giảm giá trị của score xuống 9.

Các phép toán số học thường hoạt động trên hai số. Hai số này có thể là các giá trị cố định (literals), như trong ví dụ sau, phép toán 100 + 50 thực hiện phép cộng giữa hai số 10050. Kết quả của phép cộng này là 150 và giá trị này được gán cho biến x. Sau khi thực hiện dòng code này, biến x sẽ chứa giá trị 150. Bạn có thể thay đổi giá trị của x bằng cách thay đổi phép toán hoặc giá trị của các số tham gia vào phép toán.

<html>
  <body>
    <p id="demo"></p>

    <script>
    let x = 100 + 50;
    document.getElementById("demo").innerHTML = x;
    </script>
    
  </body>
</html>

Chúng ta cũng có thể thực hiện các phép toán số học trên biến. Trong ví dụ sau biến x sẽ lưu giữ kết quả của phép cộng giữa hai biến ab. Giá trị của biến x sẽ là tổng của giá trị của ab sau khi phép toán được thực hiện.

<html>
  <body>
    <p id="demo"></p>
    <script>
    let a = 100;
    let b = 50;
    let x = a + b;
    document.getElementById("demo").innerHTML = x;
    </script>
  </body>
</html>

Chúng ta cũng có thể thực hiện các phép toán số học trên các biểu thức. Trong ví dụ sau biến x sẽ lưu giữ kết quả của biểu thức (100 + 50) * a. Đầu tiên, biểu thức trong ngoặc (100 + 50) sẽ được tính toán, sau đó kết quả này sẽ được nhân với giá trị của biến a. Kết quả của phép toán này sẽ được lưu vào biến x.

<html>
  <body>
    <p id="demo"></p>
    <script>
    let a = 3;
    let x = (100 + 50) * a;
    document.getElementById("demo").innerHTML = x;
    </script>
  </body>
</html>

Trong một phép toán số học, các số được gọi là các toán hạng (operands).

Phép toán cần thực hiện giữa hai toán hạng được xác định bởi một toán tử (operator), ví dụ 100 + 50 thì số 100 và số 50 là hai toán hạng và phép cộng (+) là toán tử thực hiện phép toán giữa hai toán hạng.

Toán tử cộng (+) thực hiện phép cộng giữa các số.

<html>
  <body>
    <p id="demo"></p>
    <script>
    let x = 5;
    let y = 2;
    let z = x + y;
    document.getElementById("demo").innerHTML = z;
    </script>
  </body>
</html>
  • xy là hai toán hạng (operands).
  • Toán tử cộng (+) thực hiện phép cộng giữa xy.
  • Kết quả phép cộng là 7, và nó được gán cho biến z.

Toán tử trừ (-) thực hiện phép trừ giữa các số.

<html>
  <body>
    <p id="demo"></p>
    <script>
    let x = 5;
    let y = 2;
    let z = x - y;
    document.getElementById("demo").innerHTML = z;
    </script>
  </body>
</html>

Trong ví dụ này:

  • xy là hai toán hạng (operands).
  • Toán tử trừ (-) thực hiện phép trừ giữa xy.
  • Kết quả phép trừ là 3, và nó được gán cho biến z.

Toán tử nhân (*) thực hiện phép nhân giữa các số.

<html>
  <body>
    <p id="demo"></p>
    <script>
    let x = 5;
    let y = 2;
    let z = x * y;
    document.getElementById("demo").innerHTML = z;
    </script>
  </body>
</html>
  • xy là hai toán hạng (operands).
  • Toán tử nhân (*) thực hiện phép nhân giữa xy.
  • Kết quả phép nhân là 10, và nó được gán cho biến z.

Toán tử phần dư (%) trả về phần dư sau khi chia.

<html>
  <body>
    <p id="demo"></p>
    <script>
    let x = 5;
    let y = 2;
    let z = x / y;
    document.getElementById("demo").innerHTML = z;
    </script>
  </body>
</html>
  • xy là hai toán hạng (operands).
  • Toán tử phần dư (%) thực hiện phép chia x cho y.
  • Kết quả là phần dư của phép chia 5 cho 2, tức là 1, và nó được gán cho biến z.

Trong toán học, phép chia có thể được hiểu là chia thành phần thương và phần dư.

Phép modulo thường được sử dụng để lấy phần dư của phép chia. Phép modulo có thể hữu ích trong nhiều tình huống ví dụ như kiểm tra tính chẵn lẻ, xác định chu kỳ hoặc vòng lặp và nhiều ứng dụng khác. Trong JavaScript, toán tử % được sử dụng để thực hiện phép modulo.

Toán tử ++ được sử dụng để tăng giá trị của một biến số lên 1 đơn vị.

Trong ví dụ này, sau khi thực hiện x++, giá trị của x tăng lên 1. Điều này thường được sử dụng để tăng biến đếm hoặc thực hiện các phép tính tăng dần khác trong các vòng lặp hoặc trong code JavaScript.

<html>
  <body>
    <p id="demo"></p>
    <script>
    let x = 5;
    x++;
    let z = x;
    document.getElementById("demo").innerHTML = z;
    </script>
  </body>
</html>

Toán tử -- được sử dụng để giảm giá trị của một biến số đi 1 đơn vị.

Trong ví dụ này, sau khi thực hiện x--, giá trị của x giảm đi 1. Điều này thường được sử dụng để giảm biến đếm hoặc thực hiện các phép tính giảm dần trong các vòng lặp hoặc trong code JavaScript.

<html>
  <body>
    <p id="demo"></p>
    <script>
    let x = 5;
    x--;
    let z = x;
    document.getElementById("demo").innerHTML = z;
    </script>
  </body>
</html>

Toán tử ** (exponentiation) dùng để tính lũy thừa, nó làm cho số bên trái được đánh dấu lũy thừa bởi số bên phải.

Ví dụ x ** 2 có nghĩa là x được nâng lên bậc 2, tức là x nhân với chính nó. Trong ví dụ của bạn, nó tính giá trị của x lũy thừa 2, vì vậy nếu x là 5, thì z sẽ có giá trị là 25.

<html>
  <body>
    <p id="demo"></p>
    <script>
    let x = 5;
    document.getElementById("demo").innerHTML = x ** 2;
    </script>
  </body>
</html>

Toán tử ** (exponentiation) và hàm Math.pow() đều được sử dụng để tính lũy thừa và tạo ra cùng kết quả.

Trong ví dụ này, x ** 2Math.pow(x, 2) đều tính giá trị của x lũy thừa 2, nên chúng sẽ có cùng giá trị kết quả là 25. Tùy vào tình huống cụ thể, bạn có thể sử dụng cả hai để tính lũy thừa theo sở thích của mình.

<html>
  <body>
    <p id="demo"></p>
    <script>
    let x = 5;
    document.getElementById("demo").innerHTML = Math.pow(x,2);
    </script>
  </body>
</html>

Khi bạn thực hiện một biểu thức số học, JavaScript tuân thủ một quy tắc ưu tiên toán tử cụ thể để xác định thứ tự của các phép tính.

Điều này đảm bảo rằng biểu thức được tính toán theo đúng thứ tự.

Trong ví dụ của bạn, x = 100 + 50 * 3;, quy tắc ưu tiên toán tử cho phép nhân (*) được thực hiện trước cộng (+). Vì vậy, trước tiên, JavaScript tính 50 * 3, sau đó thực hiện phép cộng với 100. Kết quả cuối cùng của biểu thức này là 250.

Nếu bạn muốn thay đổi thứ tự của các phép tính, bạn có thể sử dụng các dấu ngoặc đơn () để xác định rõ thứ tự của phép tính. Ví dụ, nếu bạn muốn thực hiện phép cộng trước, bạn có thể viết lại biểu thức như sau:

<html>
  <body>
    <p id="demo"></p>
    <script>
    document.getElementById("demo").innerHTML = 100 + 50 * 3;
    </script>
  </body>
</html>

Khi đó, phép cộng sẽ được thực hiện trước, và kết quả sẽ là 450.

Phép cộng bên trong dấu ngoặc đầu tiên được thực hiện trước.

Trong ví dụ let x = (100 + 50) * 3;, phép cộng bên trong dấu ngoặc đầu tiên được thực hiện trước, cho kết quả (100 + 50) = 150. Sau đó, phép nhân được thực hiện, vì vậy 150 * 3 được tính toán cho kết quả là 450.

Vì vậy, kết quả của biểu thức là 450.

<html>
  <body>
    <p id="demo"></p>
    <script>
    document.getElementById("demo").innerHTML = (100 + 50) * 3;
    </script>
  </body>
</html>

Việc sử dụng dấu ngoặc đổi thứ tự ưu tiên của các phép toán.

Khi nhiều phép toán có cùng mức ưu tiên (ví dụ: cộng và trừ hoặc nhân và chia), chúng được tính từ trái sang phải.

Trong ví dụ let x = 100 + 50 - 3;, phép cộng 100 + 50 được tính trước, cho kết quả là 150. Sau đó, phép trừ 150 - 3 được tính và kết quả cuối cùng là 147.

<html>
  <body>
    <p id="demo"></p>
    <script>
    document.getElementById("demo").innerHTML = 100 + 50 - 3;
    </script>
  </body>
</html>

Trong ví dụ let x = 100 / 50 * 3;, phép chia 100 / 50 được tính trước, cho kết quả là 2. Sau đó, phép nhân 2 * 3 được tính và kết quả cuối cùng là 6.

<html>
  <body>
    <p id="demo"></p>
    <script>
    document.getElementById("demo").innerHTML = 100 / 50 * 3;
    </script>
  </body>
</html>

Như vậy, các phép toán với cùng mức ưu tiên được thực hiện từ trái sang phải.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories