Bất kỳ một ngôn ngữ lập trình nào cũng có các toán tử để phục vụ cho việc hoạt động của ứng dụng, JavaScipt cũng không ngoại lệ. Vậy những toán tử đó là những toán tử nào, chúng ta cùng nhau tìm hiểu nhé 😉.
I. Giới thiệu
Toán tử là các dấu hay ký tự đặc biệt, dùng để thực hiện các phép tính của một biểu thức nào đó để cho ra kết quả cuối cùng.
II. Các loại toán tử
Trong JavaScript có các loại toán tử cơ bản cần phải ghi nhớ gồm:
- Toán tử số học - Arithmetic Operators
- Toán tử so sánh - Comparison Operators
- Toán tử logic - Logical Operators
- Toán tử gán - Assignment Operators
- Toán tử ba ngôi - Conditional Operators
Chúng ta cùng nhau tìm hiểu từng loại toán tử một nhé 😉.
1. Toán tử số học - Arithmectic Operators
Toán tử | Mô tả |
---|---|
+ | Cộng |
- | Trừ |
* | Nhân |
** | Lũy thừa (ES6) |
/ | Phép chia |
% | Phép chia lấy phần dư |
++ | Tăng một giá trị |
-- | Giảm một giá trị |
Cùng đi vào ví dụ cho dễ hiểu nhé 😁, phép +
, -
, *
thì quá quen thuộc rồi nên mình không đề cập đến nó nhé 😆
// Phép ++ và tương tự cho --
let a = 1, b = 1, c = 1, d = 1;
a++;
console.log(a); //--> a = 2
++b;
console.log(b); //--> b = 2
//Cần lưu ý vị trí đặt toán tử ++ và -- đấy nhé
console.log(c++); //--> c = 1
console.log(c); //--> c = 2
//---------------------------
console.log(++d); //--> d = 2
//Phép lũy thừa
let e = 2;
console.log(a**2); //--> 4
//Phép / và %
let f = 5;
console.log(f/2); //--> 2.5
console.log(f%2); //--> 1 | 0.5 ~ 1
Giải thích một chút nhé 😁, c++
bằng 1
là vì ta log c
rồi mới tăng lên một, đó là ý nghĩa khi đặt toán tử ++
sau một biến, còn đối với ++d
là tăng d
lên 1
rồi mới log d
do đó d = 2
. Đây là ý nghĩa của việc đặt toán tử ++
trước một biến, tương tự với toán tử -- nhé 😉.
f = 5
mà f
chia lấy dư cho 2
mà cho kết quả bằng 1
là do trong JavaScript tự động làm tròn số lên đó nha 😁.
2. Toán tử so sánh - Comparison Operators
Toán tử | Mô tả |
---|---|
== | So sánh bằng theo giá trị |
=== | So sánh bằng theo cả kiểu dữ liệu và giá trị |
!= | So sánh không bằng theo giá trị |
!== | So sánh không bằng theo cả kiểu dữ liệu và giá trị |
> | So sánh lớn hơn |
< | So sánh bé hơn |
>= | So sánh lớn hơn hoặc bằng |
<=< td> | So sánh bé hơn hoặc bằng | =<>
? | Toán tử ba ngôi |
let a = 1, b = '1';
a == b //--> true
a === b //--> false
a !== b //--> true
a != b //--> false
Giải thích nè 😁, a == b
trả về true
là vì về mặt giá trị a
và b
đều bằng 1
nên a !=b
trả về false
luôn nè, tuy nhiên về mặt kiểu dữ liệu lại khác nhau (một thằng kiểu number
một thằng kiểu string
) do đó a === b
trả về false
và a !== b
là true
.
3. Toán tử logic - Logical Operators
Toán tử | Mô tả |
---|---|
&& | Toán tử và (còn được gọi là toán tử AND) |
|| | Toán tử hoặc (còn được gọi là toán tử OR) |
! | Toán tử phủ định |
let a = 5, b = 10;
(a != b) && (a < b); //--> true
(a > b) || (a == b); //--> false
(a < b) || (a == b); //--> true
!(a < b); //--> false
!(a > b); //--> true
Đối với toán tử &&
thì nếu toán hạn cả hai vế đều khác 0 thì sẽ trả về true
còn ngược lại thì nó sẽ trả về false
. Toán tử ||
thì khác, nếu một trong hai toán hạng khác 0
thì sẽ trả về true
. Với toán tử !
là toán tử phủ định, (a < b)
là đúng sẽ trả về true
nhưng gặp toán tử !
thì phủ định của true
là false
😉.
4. Toán tử gán - Assignment Operators
Toán tử | ví dụ | Tương đương |
---|---|---|
= | a = b | a = b |
+= | a += b | a = a + b |
-= | a -= b | a = a - b |
*= | a *= b | a = a * b |
/= | a /= b | a = a / b |
%= | a %= b | a = a % b |
**= | a **= b | a = a**b |
5. Toán tử ba ngôi - Conditional Operators
Toán tử 3 ngôi là một toán tử vô cùng hữu ích trong JavaScript, toán tử này giống như là bản rút gọn của câu lệnh if-else
Toán tử | Mô tả |
---|---|
?: | Điều kiện ? giá trị 1 : giá trị 2 |
Đơn giản thôi, nếu điều kiện trước dấu ?
trả về true
thì sẽ trả về giá trị 1
còn false
thì sẽ trả về giá trị 2
let a = 1, b = 10;
a > b ? "a lớn hơn b" : "a nhỏ hơn b" //--> "a nhỏ hơn b"
Đơn giản phải không nào 😁
III. Tổng kết
Trên đây là 5 loại toán tử căn bản cần phải nắm rõ khi học ngôn ngữ lập trình JavaScript, ngoài 5 loại toán tử cơ bản trên vẫn còn 5 loại toán tử khác ít gặp và nâng cao hơn nhé, cuối series này mình sẽ giới thiệu sau nhé 🤪. Bài sau chúng ta sẽ cùng nhau tìm hiểu về các câu lệnh điều khiển trong JavaScript nhé. Cảm ơn các bạn đã đọc 😎.
TỪ QUỐC HƯNG
Đam mêm lập trình Frontend, Yêu thích việc setup workspace theo phong cách tối giản
follow me :
Bài viết liên quan
NodeJS là gì? Tại sao NodeJS lại phổ biến
Jul 09, 2024 • 8 min read
Event Loop là gì? Cơ chế hoạt động của Event Loop trong JavaScript
Jun 18, 2024 • 7 min read
So sánh Golang và NodeJS chi tiết
Oct 14, 2023 • 22 min read
Home Feed UI Instagram with TailwindCSS: Giới thiệu về series
Nov 28, 2022 • 2 min read
ReactJS Tutorial for Beginners Phần 2
Dec 12, 2021 • 3 min read
ReactJS vs React Native - Gà cùng một mẹ liệu có giống nhau?
Dec 12, 2021 • 14 min read