Expressions and operators
Chương này ghi lại tất cả các toán tử, biểu thức và từ khóa của ngôn ngữ JavaScript.
Biểu thức và toán tử theo danh mục
Để xem danh sách theo bảng chữ cái, hãy xem thanh bên bên trái.
Biểu thức cơ bản
Các từ khóa cơ bản và biểu thức chung trong JavaScript. Các biểu thức này có độ ưu tiên cao nhất (cao hơn toán tử).
this-
Từ khóa
thisđề cập đến một thuộc tính đặc biệt của execution context. - Literals
-
Các literal
null, boolean, number và string cơ bản. []-
Cú pháp khởi tạo/literal array.
{}-
Cú pháp khởi tạo/literal object.
function-
Từ khóa
functionđịnh nghĩa một function expression. class-
Từ khóa
classđịnh nghĩa một class expression. function*-
Từ khóa
function*định nghĩa một generator function expression. async function-
async functionđịnh nghĩa một async function expression. async function*-
Các từ khóa
async function*định nghĩa một async generator function expression. /ab+c/i-
Cú pháp literal biểu thức chính quy.
`string`-
Cú pháp template literal.
( )-
Toán tử nhóm.
Biểu thức vế trái
Giá trị vế trái là đích của một phép gán.
- Property accessors
-
Toán tử thành viên cho phép truy cập vào thuộc tính hoặc phương thức của object (
object.propertyvàobject["property"]). ?.-
Toán tử optional chaining trả về
undefinedthay vì gây ra lỗi nếu một tham chiếu là nullish (nullhoặcundefined). new-
Toán tử
newtạo một thể hiện của constructor. new.target-
Trong constructor,
new.targetđề cập đến constructor đã được gọi bởinew. import.meta-
Một object hiển thị metadata cụ thể theo ngữ cảnh cho một module JavaScript.
super-
Từ khóa
supergọi constructor cha hoặc cho phép truy cập các thuộc tính của object cha. import()-
Cú pháp
import()cho phép tải một module một cách bất đồng bộ và động vào môi trường có thể không phải là module.
Tăng và giảm
Các toán tử tăng/giảm hậu tố và tiền tố.
Toán tử unary
Một phép toán unary là phép toán chỉ có một toán hạng.
delete-
Toán tử
deletexóa một thuộc tính khỏi object. void-
Toán tử
voidđánh giá một biểu thức và loại bỏ giá trị trả về của nó. typeof-
Toán tử
typeofxác định kiểu của một object đã cho. +-
Toán tử unary plus chuyển đổi toán hạng của nó sang kiểu Number.
--
Toán tử unary negation chuyển đổi toán hạng của nó sang kiểu Number rồi phủ định nó.
~-
Toán tử Bitwise NOT.
!-
Toán tử Logical NOT.
await-
Tạm dừng và tiếp tục async function và chờ promise được thực hiện/từ chối.
Toán tử số học
Toán tử số học nhận giá trị số (hoặc literal hoặc biến) làm toán hạng và trả về một giá trị số duy nhất.
Toán tử quan hệ
Toán tử so sánh so sánh các toán hạng của nó và trả về giá trị boolean dựa trên việc so sánh có đúng không.
<(Less than)-
Toán tử nhỏ hơn.
>(Greater than)-
Toán tử lớn hơn.
<=-
Toán tử nhỏ hơn hoặc bằng.
>=-
Toán tử lớn hơn hoặc bằng.
instanceof-
Toán tử
instanceofxác định xem một object có phải là thể hiện của object khác không. in-
Toán tử
inxác định xem một object có thuộc tính đã cho không.
Note:
=> không phải là toán tử, mà là ký hiệu cho Arrow functions.
Toán tử bằng nhau
Kết quả của việc đánh giá toán tử bằng nhau luôn thuộc kiểu boolean dựa trên việc so sánh có đúng không.
Toán tử dịch chuyển bit
Các phép toán để dịch chuyển tất cả các bit của toán hạng.
Toán tử bitwise nhị phân
Toán tử bitwise xử lý toán hạng của chúng như một tập hợp 32 bit (số không và số một) và trả về giá trị số JavaScript tiêu chuẩn.
Toán tử logical nhị phân
Toán tử logical thực hiện các giá trị boolean (logical) và có hành vi short-circuiting.
Toán tử điều kiện (ternary)
(condition ? ifTrue : ifFalse)-
Toán tử điều kiện trả về một trong hai giá trị dựa trên giá trị logic của điều kiện.
Toán tử gán
Toán tử gán gán một giá trị cho toán hạng bên trái của nó dựa trên giá trị của toán hạng bên phải.
=-
Toán tử gán.
*=-
Gán nhân.
/=-
Gán chia.
%=-
Gán phần dư.
+=-
Gán cộng.
-=-
Gán trừ.
<<=-
Gán dịch trái.
>>=-
Gán dịch phải.
>>>=-
Gán dịch phải không dấu.
&=-
Gán Bitwise AND.
^=-
Gán Bitwise XOR.
|=-
Gán Bitwise OR.
**=-
Gán lũy thừa.
&&=-
Gán Logical AND.
||=-
Gán Logical OR.
??=-
Gán nullish coalescing.
[a, b] = arr,{ a, b } = obj-
Destructuring cho phép bạn gán các thuộc tính của array hoặc object cho biến bằng cú pháp trông tương tự như literal array hoặc object.
Toán tử yield
Cú pháp spread
...obj-
Cú pháp spread cho phép iterable, chẳng hạn như array hoặc string, được mở rộng ở những nơi mà không hoặc nhiều đối số (cho lời gọi function) hoặc phần tử (cho array literal) được mong đợi. Trong object literal, cú pháp spread liệt kê các thuộc tính của object và thêm các cặp key-value vào object đang được tạo.
Toán tử dấu phẩy
,-
Toán tử dấu phẩy cho phép nhiều biểu thức được đánh giá trong một câu lệnh đơn và trả về kết quả của biểu thức cuối cùng.