Bài viết đăng tại: https://laptrinhcanban.com
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 + B | Thêm B vào A |
- | A -B | Trừ B cho A |
* | A * B | Nhân A với B |
/ | A / B | Chia A cho B |
% | A% B | Dư của phép chia A cho B |
** | A ** B | Lũ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 |
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); |
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); |
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); |
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); |
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); |
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); |
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 /
và %
, 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; |
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); |
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.
URL Link
HOME › học javascript - lập trình javascript cơ bản>>07. toán tử trong javascript