ES6 - Toán tử

An expressionlà một loại câu lệnh đặc biệt đánh giá một giá trị. Mọi biểu thức đều bao gồm -

  • Operands - Đại diện cho dữ liệu.

  • Operator - Xác định cách các toán hạng sẽ được xử lý để tạo ra một giá trị.

Hãy xem xét biểu thức sau- 2 + 3. Ở đây trong biểu thức, 2 và 3 là các toán hạng và ký hiệu + (cộng) là toán tử. JavaScript hỗ trợ các loại toán tử sau:

  • Toán tử số học
  • Toán tử logic
  • Toán tử quan hệ
  • Toán tử bitwise
  • Toán tử chuyển nhượng
  • Toán tử bậc ba / có điều kiện
  • Toán tử chuỗi
  • Nhập toán tử
  • Toán tử void

Toán tử số học

Giả sử các giá trị trong các biến ab lần lượt là 10 và 5.

Hiển thị các ví dụ

Nhà điều hành Chức năng Thí dụ
+ Addition

Trả về tổng của các toán hạng.

a + b là 15
- Subtraction

Trả về sự khác biệt của các giá trị.

ab là 5
* Multiplication

Trả về tích của các giá trị.

a * b là 50
/ Division

Thực hiện phép toán chia và trả về thương số.

a / b là 2
% Modulus

Thực hiện phép chia và trả về phần còn lại.

a% b là 0
++ Increment

Tăng giá trị của biến lên một.

a ++ là 11
- Decrement

Giảm giá trị của biến số một.

a-- là 9

Toán tử quan hệ

Các toán tử quan hệ kiểm tra hoặc xác định kiểu quan hệ giữa hai thực thể. Các toán tử quan hệ trả về một giá trị boolean, tức là true / false.

Giả sử giá trị của A là 10 và B là 20.

Hiển thị các ví dụ

Người điều hành Sự miêu tả Thí dụ
> Lớn hơn (A> B) là Sai
< Ít hơn (A <B) là True
> = Lớn hơn hoặc bằng (A> = B) là Sai
<= Nhỏ hơn hoặc bằng (A <= B) là True
== Bình đẳng (A == B) là Sai
! = Không cô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ề một giá trị Boolean. Giả sử giá trị của biến A là 10 và B là 20.

Hiển thị các ví dụ .

Người điều hành Sự miêu tả Thí dụ
&& And

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à Sai
|| Or

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
! Not

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à Đúng

Toán tử Bitwise

JavaScript hỗ trợ các toán tử bitwise sau đây. Bảng sau đây tóm tắt các toán tử bitwise của JavaScript.

Hiển thị các ví dụ .

Người điều hành Sử dụng Sự miêu tả
Bitwise VÀ a & b Trả về một ở mỗi vị trí bit mà các bit tương ứng của cả hai toán hạng là một
Bitwise HOẶC a | b Trả về một ở mỗi vị trí bit mà các bit tương ứng của một trong hai hoặc cả hai toán hạng là một
Bitwise XOR a ^ b Trả về một ở mỗi vị trí bit mà các bit tương ứng của một trong hai nhưng không phải cả hai toán hạng là một
Bitwise KHÔNG ~ a Đảo ngược các bit của toán hạng của nó
Dịch trái a << b Dịch chuyển a trong biểu diễn nhị phân b (<32) bit sang bên trái, dịch chuyển số 0 từ bên phải
Đăng ký tuyên truyền sang phải a >> b Dịch chuyển a trong biểu diễn nhị phân b (<32) bit sang phải, loại bỏ các bit bị dịch chuyển
Chuyển sang phải không điền a >>> b Dịch chuyển a trong biểu diễn nhị phân b (<32) bit sang bên phải, loại bỏ các bit bị dịch chuyển và dịch chuyển theo số 0 từ bên trái

Người điều hành nhiệm vụ

Bảng sau đây tóm tắt các toán tử Gán.

Hiển thị các ví dụ .

Sr.No Nhà điều hành & Mô tả
1

= (Simple Assignment)

Gán các giá trị từ toán hạng bên phải cho toán hạng bên trái.

Example - C = A + B sẽ gán giá trị của A + B vào C

2

+= (Add and Assignment)

Nó thêm toán hạng bên phải vào toán hạng bên trái và gán kết quả cho toán hạng bên trái.

Example - C + = A tương đương với C = C + A

3

-= (Subtract and Assignment)

Nó trừ toán hạng bên phải khỏi toán hạng bên trái và gán kết quả cho toán hạng bên trái.

Example C - = A tương đương với C = C - A

4

*= (Multiply and Assignment)

Nó nhân toán hạng bên phải với toán hạng bên trái và gán kết quả cho toán hạng bên trái.

Example C * = A tương đương với C = C * A

5

/= (Divide and Assignment)

Nó chia toán hạng bên trái với toán hạng bên phải và gán kết quả cho toán hạng bên trái.

Note - 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 nhà khai thác khác

Sau đây là một số toán tử linh tinh.

Toán tử phủ định (-)

Thay đổi dấu hiệu của một giá trị. Chương trình sau đây là một ví dụ về điều tương tự.

var x = 4 
var y = -x; 
console.log("value of x: ",x); //outputs 4 
console.log("value of y: ",y); //outputs -4

Kết quả sau được hiển thị khi thực hiện thành công chương trình trên.

value of x: 4 
value of y: -4

Toán tử chuỗi: Toán tử nối (+)

Toán tử + khi được áp dụng cho chuỗi sẽ nối chuỗi thứ hai với chuỗi thứ nhất. Chương trình sau đây giúp hiểu khái niệm này.

var msg = "hello"+"world" 
console.log(msg)

Kết quả sau được hiển thị khi thực hiện thành công chương trình trên.

helloworld

Thao tác nối không thêm khoảng cách giữa các chuỗi. Nhiều chuỗi có thể được nối trong một câu lệnh.

Điều hành có điều kiện (?)

Toán tử 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ử bậc ba. Sau đây là cú pháp.

Test ? expr1 : expr2

Ở đâu,

Test - Đề cập đến biểu thức điều kiện

expr1 - Giá trị được trả về nếu điều kiện là đúng

expr2 - Giá trị được trả về nếu điều kiện sai

Example

var num = -2 
var result = num > 0 ?"positive":"non-positive" 
console.log(result)

Dòng 2 kiểm tra xem giá trị trong biến num có lớn hơn 0 hay không. Nếu num được đặt thành giá trị lớn hơn 0, nó sẽ trả về chuỗi "dương", nếu không sẽ trả về chuỗi "không dương".

Kết quả sau được hiển thị khi thực hiện thành công chương trình trên.

non-positive

toán tử typeof

Nó là một toán tử một ngôi. Toán tử này trả về 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ởitypeof toán tử trong JavaScript.

Kiểu Chuỗi được trả về theo typeof
Con số "con số"
Chuỗi "chuỗi"
Boolean "boolean"
Vật "vật"

Mã ví dụ sau đây hiển thị số dưới dạng đầu ra.

var num = 12 
console.log(typeof num); //output: number

Kết quả sau được hiển thị khi thực hiện thành công đoạn mã trên.

number

Nhà điều hành Spread

ES6 cung cấp một toán tử mới được gọi là spread operator. Toán tử spread được biểu thị bằng ba dấu chấm “...”. Toán tử lây lan chuyển đổi một mảng thành các phần tử mảng riêng lẻ.

Toán tử Spread và chức năng

Ví dụ sau minh họa việc sử dụng toán tử spread trong một hàm

<script>
   function addThreeNumbers(a,b,c){
      return a+b+c;
   }
   const arr = [10,20,30]
   console.log('sum is :',addThreeNumbers(...arr))
   console.log('sum is ',addThreeNumbers(...[1,2,3]))
</script>

Đầu ra của đoạn mã trên sẽ như bên dưới:

sum is : 60
sum is 6

Toán tử Spread và Array Sao chép và nối

Toán tử spread có thể được sử dụng để sao chép một mảng này sang mảng khác. Nó cũng có thể được sử dụng để nối hai hoặc nhiều mảng. Điều này được hiển thị trong ví dụ dưới đây -

Thí dụ

<script>
   //copy array using spread operator
   let source_arr = [10,20,30]
   let dest_arr = [...source_arr]
   console.log(dest_arr)
	
   //concatenate two arrays
   let arr1 = [10,20,30]
   let arr2 =[40,50,60]
   let arr3 = [...arr1,...arr2]
   console.log(arr3)
</script>

Đầu ra của đoạn mã trên sẽ như được nêu bên dưới:

[10, 20, 30]
[10, 20, 30, 40, 50, 60]

Phép toán Spread và sao chép và nối đối tượng

Toán tử spread có thể được sử dụng để sao chép một đối tượng này vào một đối tượng khác. Nó cũng có thể được sử dụng để nối hai hoặc nhiều đối tượng. Điều này được hiển thị trong ví dụ dưới đây -

<script>
   //copy object
   let student1 ={firstName:'Mohtashim',company:'TutorialsPoint'}
   let student2 ={...student1}
   console.log(student2)
   //concatenate objects
   let student3 = {lastName:'Mohammad'}
   let student4 = {...student1,...student3}
   console.log(student4)
</script>

Đầu ra của đoạn mã trên sẽ như dưới đây:

{firstName: "Mohtashim", company: "TutorialsPoint"}
{firstName: "Mohtashim", company: "TutorialsPoint", lastName: "Mohammad"}