JavaScript: Phép toán
Giải phóng thời gian, khai phóng năng lực
Biểu thức là một loại lệnh đặc biệt dùng để thực hiện một tính toán và trả về giá trị tương ứng. Mỗi biểu thức bao gồm:
-
Số hạng (hay toán hạng) - Thể hiện dữ liệu.
-
Phép toán (hay toán tử) - Xác định cách các số hạng sẽ được xử lý để tạo ra một giá trị.
Xét biểu thức 2 + 3, ở đây 2 và 3 là toán hạng và ký hiệu + (cộng) là phép toán. JavaScript hỗ trợ các loại toán tử sau:
Toán tử số học
Giả sử các giá trị trong biến a và b lần lượt là 10 và 5.
Phép toán | Tác dụng | Thí dụ |
---|---|---|
+ | Phép cộng
Trả về tổng của các toán hạng. |
a + b là 15 |
- | Phép trừ
Trả về sự khác biệt của các giá trị. |
a - b là 5 |
* | Phép nhân
Trả về sản phẩm của các giá trị. |
a * b là 50 |
/ | Phép chia
Thực hiện một hoạt động phân chia và trả về thương số. |
a / b là 2 |
% | Mô-đun (chia lấy dư)
Thực hiện chia lấy phần dư. |
a % b là 0 |
++ | Tăng
Tăng giá trị của biến đi một. |
a++ là 11 |
-- | Giảm
Giảm giá trị của biến đi một. |
a-- là 9 |
Toán tử quan hệ (hay so sánh)
Toán tử quan hệ kiểm tra hoặc xác định loại mối quan hệ giữa hai thực thể. Toán tử quan hệ trả về giá trị boolean, tức là true
hoặc false
.
Giả sử giá trị của A là 10 và B là 20.
Phép toán | Ý nghĩa | Ví dụ |
---|---|---|
> | Lớn hơn | (A> B) là false |
< | Nhỏ hơn | (A <B) là true |
>= | Lớn hơn hoặc bằng | (A> = B) là false |
<= | Nhỏ hơn hoặc bằng | (A <= B) là true |
== | So sánh bằng | (A == B) là false |
!= | So sánh không bằng | (A != B) là true |
Toán tử logic
Toán tử logic được sử dụng để kết hợp hai hoặc nhiều điều kiện. Các toán tử logic cũng trả về giá trị Boolean. Giả sử giá trị của biến A là 10 và B là 20.
Phép toán | Ý nghĩa | Ví dụ |
---|---|---|
&& | Và
Toán tử chỉ trả về true nếu tất cả các biểu thức được chỉ định trả về true. |
(A>10 && B>10) là false |
|| | Hoặc là
Toán tử trả về true nếu ít nhất một trong các biểu thức được chỉ định trả về true. |
(A>10 || B>10) là true |
! | Không phải (phủ định)
Toán tử trả về nghịch đảo của kết quả của biểu thức. Ví dụ: !(7>5) trả về false. |
!(A>10) là true |
Toán tử bitwise (logic nhị phân)
JavaScript hỗ trợ các toán tử bitwise sau, lưu ý là trước khi thực hiện phép toán thì các toán hạng sẽ được chuyển sang số nhị phân.
Phép toán | Cách dùng | Ý nghĩa |
---|---|---|
Bitwise AND | a & b | Trả về 1 nếu cả a và b đều là 1, 0 nếu a hoặc b bằng 0 |
Bitwise OR | a | b | Trả về 1 nếu a hoặc b là 1, 0 nếu cả a và b đều là 0 |
Bitwise XOR | a ^ b | Trả về 1 nếu a khác b, 0 nếu a giống b |
Bitwise NOT | ~a | Theo công thức: ~a = -(a+1). Ví dụ: ~10 = -(10+1) = -11; ~-10 = -(-10+1) = 9 |
Dịch trái | a << b | Dịch trái b bit, tức là thêm b số 0 vào bên phải a. Ví dụ: 7<<2 = 7*2*2 = 28 |
Dịch phải | a >> b | Dịch phải b bit, tức là bỏ đi b bit bên phải số a. Ví dụ: 7>>2 = 1 |
Dịch phải điền 0 | a >>> b | Dịch phải b bit và thêm b bit 0 vào bên trái số a. Ví dụ: 7>>>2 = 001 |
Toán tử gán
Bảng sau đây tóm tắt các toán tử gán.
Toán tử & Mô tả |
---|
= (Gán thông thường) Gán các giá trị ở bên phải cho biến nằm bên trái. Ví dụ: C = A + B sẽ gán giá trị của A + B vào C |
+= (Cộng và gán) Ví dụ: C+ = A tương đương với C = C + A |
-= (Trừ và gán) Ví dụ: C -= A tương đương với C = C - A |
*= (Nhân và gán) Ví dụ C /= A tương đương với C = C * A |
/= (Chia và gán) Ví dụ C /= A tương đương với C = C / A |
Lưu ý - Logic tương tự áp dụng cho các toán tử Bitwise, vì vậy chúng sẽ trở thành << =, >> =, >> =, & =, | = và ^ =.
Các toán tử khác
Toán tử phủ định (-)
var a = 4 var b = -a; console.log("value of a: ",a); console.log("value of b: ",b);
Output:
value of x: 4 value of y: -4
Toán tử nối chuỗi
Toán tử + khi được áp dụng cho chuỗi sẽ nối thêm chuỗi thứ hai vào chuỗi thứ nhất. Chương trình sau đây để hiểu khái niệm này.
var a = "hello"+"world" console.log(a)
Output:
helloworld
Phép toán 3 ngôi: điều kiện (?:)
Phép toán này được sử dụng để biểu diễn một biểu thức điều kiện. Toán tử điều kiện đôi khi cũng được gọi là toán tử ternary. Sau đây là cú pháp:
Điều_kiện ? trueVal : falseVal
Nếu Điều_kiện đúng thì trả về trueVal
, ngược lại thì trả về falseVal
.
Ví dụ
var number = 18 var ketQua = number%2==0 ? "Even" : "Odd" console.log(ketQua)
Output:
Even
Toán tử typeof
typeof là loại toán tử một ngôi (unary). Toán tử này trả về một chuỗi là kiểu dữ liệu của toán hạng. Bảng sau liệt kê các kiểu dữ liệu và các giá trị được trả về bởi toán tử typeof trong JavaScript.
Kiểu | Chuỗi được trả về bởi typeof |
---|---|
Number | "number" |
String | "string" |
Boolean | "boolean" |
Object | "object" |
Ví dụ:
var str = "12" console.log(typeof str);
Output:
number
Giải phóng thời gian, khai phóng năng lực