Toán tử số học trong JavaScript | Laptrinhcanban.com

Toán tử số học trong JavaScript

Cùng tìm hiểu về toán tử số học trong JavaScript. Bạn sẽ biết các loại toán tử số hoc, cũng như cách sử dụng chúng để thực hiện các phép toán số học trong JavaScript sau bài học này.

Toán tử số học trong JavaScript là gì

Toán tử số học trong JavaScript là các toán tử sử dụng để thực hiện các phép tính toán với số trong JavaScript. Có tất cả 6 loại toán tử số học trong JavaScript như bảng sau đây.

Toán tửVí dụÝ nghĩa
+A + BThêm B vào A
-A -BTrừ B cho A
*A * BNhân A với B
/A / BChia A cho B
%A% BDư của phép chia A cho B
**A ** BLũy thừa B của A

Hai giá trị sử dụng trong tính toán với toán tử số học được gọi là toán hạng trong JavaScript. Bằng cách sử dụng toán tử số học, chúng ta có thể tính toán với các toán hạng, cũng như trả về kết quả của phép tính toán đó.

Ví dụ cụ thể, chúng ta sử dụng các toán tử số học để tính toán với các toán hạng là các số nguyên như sau:

num = 10 + 4;   // num = 14
num = 9 - 2; // num = 7
num = 3 * 8; // num = 24
num = 7 / 3; // num = 2
num = 7 % 3; // num = 1
num = 7 ** 3; // num = 343

Giống như trên, kết quả của các phép toán sẽ được gán vào biến ở bên trái, thông qua toán tử = trong JavaScript.

Toán tử cộng trong JavaScript

Khi viết toán tử cộng trong JavaScript giữa các hạng tử thuộc kiểu số thì phép cộng giữa các số này sẽ được thực hiện. Ví dụ:

console.log(1 + 5);
// 6

console.log(4.24 + 1);
// 5.24

console.log(2.5 + 14.523);
// 17.02

Khác với các ngôn ngữ lập trình khác thì tất cả các kiểu số trong JavaScript đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán cộng trong JavaScript.

Lại nữa cần lưu ý khi sử dụng toán tử cộng trong JavaScript giữa kiểu số và kiểu chuỗi thì kết quả sẽ không phải là tổng giữa chúng, mà sẽ là chuỗi ký tự được nối giữa chúng.

Toán tử trừ trong JavaScript

Khi viết toán tử trừ trong JavaScript giữa các hạng tử thuộc kiểu số thì phép trừ giữa các số này sẽ được thực hiện. Ví dụ:

console.log(1 - 5);
// -4

console.log(4.24 - 1);
// 3.24

console.log(2.5 - 14.523);
// -12.023

Tương tự toán tử cộng thì tất cả các kiểu số trong JavaScript đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán trừ trong JavaScript.

Toán tử nhân trong JavaScript

Khi viết toán tử nhân trong JavaScript giữa các hạng tử thuộc kiểu số thì phép nhân giữa các số này sẽ được thực hiện. Ví dụ:

console.log(1 * 5);
// 5

console.log(4.24 * 1);
// 4.24

console.log(2.5 * 14.523);
// 36.3075

Tương tự toán tử cộng thì tất cả các kiểu số trong JavaScript đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán nhân trong JavaScript.

Toán tử chia hết trong JavaScript

Khi viết toán tử chia trong JavaScript giữa các hạng tử thuộc kiểu số thì phép chia hết giữa các số này sẽ được thực hiện. Ví dụ:

console.log(1 / 5);
// 0.2

console.log(5 / 1);
// 5

console.log(4.24 / 2);
// 2.12

console.log(2.5 / 14.523);
// 0.17214074227088066

Tương tự toán tử cộng thì tất cả các kiểu số trong JavaScript đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán chia hết trong JavaScript.

Kết quả của toán tử chia hết trong JavaScript sẽ bao gồm cả phần thập phân, nếu như hai hạng tử không chia hết cho nhau. Để tìm phần nguyên và phần dư trong phép chia trong JavaScript, hãy tham khảo bài viết Lấy số nguyên và lấy số dư trong JavaScript.

Toán tử chia lấy dư trong JavaScript

Khi viết toán tử chia lấy dư trong JavaScript giữa các hạng tử thuộc kiểu số thì phép chia lấy dư giữa các số này sẽ được thực hiện. Ví dụ:

console.log(1 % 5);
// 1

console.log(5 % 1);
// 0

console.log(4.24 % 2);
// 0.2400000000000002

console.log(2.5 % 14.523);
// 2.5

Tương tự toán tử cộng thì tất cả các kiểu số trong JavaScript đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán chia lấy dư trong JavaScript.

Toán tử lũy thừa trong JavaScript

Khi viết toán tử lũy thừa trong JavaScript giữa các hạng tử thuộc kiểu số thì phép lũy thừa giữa các số này sẽ được thực hiện. Ví dụ:

console.log(2 ** 2);
// 4

console.log(5 ** 3);
// 125

console.log(4.24 ** 2);
// 17.977600000000002

console.log(2.5 ** 14.523);
// 601565.257033435

Tương tự toán tử cộng thì tất cả các kiểu số trong JavaScript đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán lũy thừa trong JavaScript.

Toán tử số học và phép chia số 0 trong JavaScript

Trong toán học, chúng ta đều biết không thể chia cho số 0. Tuy nhiên trong JavaScript, chỉ có một giá trị Infinity sẽ được trả về mà không có lỗi nào xảy ra khi chạy chương trình JavaScript cả.

Khi thực hiện chia hoặc chia lấy dư một số let cho số 0 thông qua các toán tử số học /%, mặc dù khi compile không xảy ra lỗi, nhưng khi chạy chương trình, lỗi java.lang.ArithmeticException: / by zero sẽ trả về như sau:

Ví dụ khi chia hoặc chia lấy dư một số cho số 0, thì lỗi sẽ không xảy ra và kết quả Infinity sẽ được trả về như dưới đây:

let d1 = 10.0 / 0;
console.log(d1); // Infinity

let d2 = 10.0 % 0;
console.log(d1); // Infinity

Lưu ý trong tính toán số học với các số thập phân

Khi tính toán số học với các số thập phân trong JavaScript, sẽ có những trường hợp sẽ xảy ra sai số dẫn đến kết quả không theo ý muốn của chúng ta. Ví dụ với phép tính 0.1 + 0.2, thông thường kết quả sẽ là 0.3, nhưng JavaScript có thể đưa ra sai số như sau:

console.log(0.2 + 0.1);
// 0.30000000000000004

console.log(14.186 / 8.2);
// 1.7300000000000002

console.log(8.2 % 3);
// 2.1999999999999993

Lý do là bởi vì trong JavaScript các số đều được biểu diễn dưới dạng cơ số 2 với 16 bit, nên trong quá trình chuyển đổi các số chứa phần thập phân sẽ xảy ra các sai số như trên.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về toán tử số học trong JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.