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.propertyobject["property"]).

?.

Toán tử optional chaining trả về undefined thay vì gây ra lỗi nếu một tham chiếu là nullish (null hoặc undefined).

new

Toán tử new tạo một thể hiện của constructor.

new.target

Trong constructor, new.target đề cập đến constructor đã được gọi bởi new.

import.meta

Một object hiển thị metadata cụ thể theo ngữ cảnh cho một module JavaScript.

super

Từ khóa super gọ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ố.

A++

Toán tử tăng hậu tố.

A--

Toán tử giảm hậu tố.

++A

Toán tử tăng tiền tố.

--A

Toán tử giảm 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ử delete xó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ử typeof xá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ử lũy thừa.

*

Toán tử nhân.

/

Toán tử chia.

%

Toán tử phần dư.

+ (Plus)

Toán tử cộng.

-

Toán tử trừ.

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ử instanceof xác định xem một object có phải là thể hiện của object khác không.

in

Toán tử in xá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ử bằng nhau.

!=

Toán tử không bằng nhau.

===

Toán tử bằng nhau nghiêm ngặt.

!==

Toán tử không bằng nhau nghiêm ngặt.

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ử dịch trái theo bit.

>>

Toán tử dịch phải theo bit.

>>>

Toán tử dịch phải không dấu theo bit.

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.

&

Bitwise AND.

|

Bitwise OR.

^

Bitwise XOR.

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.

&&

Logical AND.

||

Logical OR.

??

Toán tử Nullish Coalescing.

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

yield

Tạm dừng và tiếp tục generator function.

yield*

Ủy quyền cho một generator function khác hoặc iterable object.

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.

Đặc tả

Specification
ECMAScript® 2027 Language Specification
# sec-multiplicative-operators
ECMAScript® 2027 Language Specification
# sec-void-operator
ECMAScript® 2027 Language Specification
# sec-assignment-operators
ECMAScript® 2027 Language Specification
# prod-SpreadElement
ECMAScript® 2027 Language Specification
# prod-ArgumentList
ECMAScript® 2027 Language Specification
# prod-PropertyDefinition
ECMAScript® 2027 Language Specification
# sec-postfix-decrement-operator
ECMAScript® 2027 Language Specification
# prod-CoalesceExpression
ECMAScript® 2027 Language Specification
# sec-new-operator
ECMAScript® 2027 Language Specification
# sec-import-calls
ECMAScript® 2027 Language Specification
# sec-relational-operators
ECMAScript® 2027 Language Specification
# sec-postfix-increment-operator
ECMAScript® 2027 Language Specification
# prod-OptionalExpression
ECMAScript® 2027 Language Specification
# sec-unsigned-right-shift-operator
ECMAScript® 2027 Language Specification
# sec-unary-minus-operator
ECMAScript® 2027 Language Specification
# sec-logical-not-operator
ECMAScript® 2027 Language Specification
# sec-equality-operators
ECMAScript® 2027 Language Specification
# sec-built-in-function-objects
ECMAScript® 2027 Language Specification
# sec-comma-operator
ECMAScript® 2027 Language Specification
# sec-signed-right-shift-operator
ECMAScript® 2027 Language Specification
# prod-LogicalANDExpression
ECMAScript® 2027 Language Specification
# sec-super-keyword
ECMAScript® 2027 Language Specification
# sec-generator-function-definitions
ECMAScript® 2027 Language Specification
# sec-async-function-definitions
ECMAScript® 2027 Language Specification
# sec-null-value
ECMAScript® 2027 Language Specification
# sec-async-generator-function-definitions
ECMAScript® 2027 Language Specification
# sec-subtraction-operator-minus
ECMAScript® 2027 Language Specification
# prod-ImportMeta
ECMAScript® 2027 Language Specification
# prod-BitwiseORExpression
ECMAScript® 2027 Language Specification
# sec-exp-operator
ECMAScript® 2027 Language Specification
# sec-bitwise-not-operator
ECMAScript® 2027 Language Specification
# sec-typeof-operator
ECMAScript® 2027 Language Specification
# sec-addition-operator-plus
ECMAScript® 2027 Language Specification
# sec-object-initializer
ECMAScript® 2027 Language Specification
# sec-destructuring-assignment
ECMAScript® 2027 Language Specification
# sec-destructuring-binding-patterns
ECMAScript® 2027 Language Specification
# sec-class-definitions
ECMAScript® 2027 Language Specification
# prod-BitwiseXORExpression
ECMAScript® 2027 Language Specification
# sec-left-shift-operator
ECMAScript® 2027 Language Specification
# sec-generator-function-definitions-runtime-semantics-evaluation
ECMAScript® 2027 Language Specification
# prod-YieldExpression
ECMAScript® 2027 Language Specification
# sec-function-definitions
ECMAScript® 2027 Language Specification
# sec-grouping-operator
ECMAScript® 2027 Language Specification
# sec-this-keyword
ECMAScript® 2027 Language Specification
# prod-LogicalORExpression
ECMAScript® 2027 Language Specification
# sec-delete-operator
ECMAScript® 2027 Language Specification
# sec-conditional-operator
ECMAScript® 2027 Language Specification
# sec-unary-plus-operator
ECMAScript® 2027 Language Specification
# sec-property-accessors
ECMAScript® 2027 Language Specification
# prod-BitwiseANDExpression
HTML
# import-meta-resolve

Tương thích trình duyệt

Xem thêm