Toán tử trong javascript

Toán tử trong javascript
Toán tử trong javascript

I Khái quát về toán tử trong javascript

Trong javascript có các 10 loại toán tử như bên dưới.

  1. Toán tử gán
  2. Toán tử so sánh
  3. Toán tử số học
  4. Toán tử thao tác bit
  5. Toán tử logic
  6. Toán tử chuỗi
  7. Toán tử điều kiện (ba ngôi)
  8. Toán tử phẩy
  9. Toán tử một ngôi
  10. Toán tử quan hệ

Tuyển kỹ sư cầu nối lương upto $2500

Tuyển lập trình viên mobile lương upto $1500

Nhưng trong bài này mình sẽ tập trung giới thiệu một số toán tử chúng ta hay sử dụng: toán tử gán, toán tử so sánh, toán tử sổ học, toán tử logic, toán tử chuỗi, toán tử điều kiện, toán tử một ngôi(typeof)

Các kiểu dữ liệu trong javascript

II Chi tiết một số toán tử hay sử dụng

1) Toán tử gán

Toán tử gán nghĩa là giá trị toán hạng bên trái được gán theo giá trị của toán hạng bên phải nó.

Toán tử

Viết tắt

ý nghĩa

x = y

x = y

x = y

+=

x += y

x = x + y

-=

x -= y

x = x – y

*=

x *= y

x = x * y

/=

x /= y

x = x / y

%=

x %= y

x = x % y

**=

x **= y

x = x ** y

<<=

x <<= y

x = x << y

>>=

x >>= y

x = x >> y

>>>=

x >>>= y

x = x >>> y

&=

x &= y

x = x & y

^=

x ^= y

x = x ^ y

|=

x |= y

x = x | y

2) Toán tử so sánh

    • Toán tử so sánh sẽ thực hiện so sánh 2 toán hạng của nó là và trả về giá logic là true hoặc false,  dựa theo tính đúng sai của phép so sánh.
    • Toán hạng có thể là số, chuỗi, logic, hoặc object.
    • Khi so sánh chuỗi thì sẽ so sánh theo thứ tự từ điển, qua giá trị mã Unicode.
    • Trong nhiều trường hợp khi so sánh hai toán tử không cùng kiểu javascript sẽ tự ép kiểu để so sánh.
    • Nếu chúng ta sử dụng  2 toán tử === và !== này thì java script sẽ không thực ép kiểu. 2 toán tử này ngoài check giá trị còn check thêm kiểu, kể cả cùng giá trị mà khác kiểu vẫn trả về false.

Lưu ý việc sử 2 cặp toán tử bên dưới là khác nhau:

==, !=       So sánh mà không kiểm tra kiểu dữ liệu

===, !==   So sánh với kiểm tra kiểu kiểu dữ liệu

Toán tử Mô tả Ví dụ
== Trả về true nếu các toán hạng bằng nhau a = 3; b =3;

a==b; // trả về true

===

Trả về true nếu các toán hạng bằng nhau
và cùng kiểu
a=3; b =’3′;

a===b;// trả về false vì khác kiểu

!=

Trả về true nếu các toán hạng không bằng nhau x = 1; y = 2

x != y // trả về true

!==

Trả về true nếu các toán hạng không bằng nhau
hoặc khác kiểu
x = true; y=’true’

x !== y //sẽ trả về true vì khác kiểu

Trả về true nếu toán hạng bên trái lớn hơn
toán hạng bên phải.
x = 8; y =2;

x > y //trả về true

>=

Trả về true nếu toán hạng bên trái lớn hơn hoặc bằng toán hạng bên phải. x = 3; y = 3

x >= y; // trả về true

Trả về true nếu toán hạng bên trái nhỏ hơn
toán hạng bên phải
x = 3; y = 5

x < y; // trả về true

<=

Trả về true nếu toán hạng bên trái nhỏ hơn
hoặc bằng toán hạng bên phải
x = 6;

x <= 6; //trả về true

Đôi khi chúng ta không biết tại sao khi so sánh trong javascript nó lại trả về kết quả như vậy. Thực tế thì là do nếu kiểu data không giống nhau thì javascript sẽ convert data thành kiểu Number trước khi so sánh.

Chúng ta hãy chú ý tới một số trường hợp khi so sánh trong  javascript  nhé.

1. ” == ‘0’ // false

2. 0 == ” // true

3. 0 == ‘0’ // true

4. false == ‘false’ // false

5. false == ‘0’ // true

6. false == undefined // false

7. false == null // false

8. null == undefined // true

9. ‘ \t\r\n ‘ == 0 // true

10.  let a = 0, b = “0”;

Boolean(a)            // false

Boolean(b)            // true

a == b                // true 

 11.  false == “0” // true (false is converted to 0, “0” is converted to 0)

 12. true == “1” // true (true is converted to 1, “1” is converted to 1)

 13.  true == “2” // false

3. Toán tử số học

Toán tử số học thực hiện trên các toán hạng kiểu số và trả lại kiểu số.

Toán tử

Mô tả

Ví dụ

+

phép cộng

2 + 3 = 5

phép trừ

9 – 7 = 2

*

phép nhân

6*8 = 48

/

phép chia

35 / 7 = 5

%

lấy phần dư của phép chia

7 % 3 = 1

++

Tăng thêm 1

var x = 1; x ++; //giá trị x là 2

giảm đi 1

var x =  1; x –; //giá trị x là 0

4. Toán tử logic

Toán tử logic bao gồm 3 toán tử như bên dưới.

Toán tử

Cách dùng

Mô tả

AND (&&)

expr1 && expr2

Trả về true khi expr1 và expr2 đều có giá trị là true

OR (||)

expr1 || expr2 Trả về true khi expr1 hoặc expr2  có giá trị là true

NOT (!)

!expr Phủ định, trả lại giá trị ngược với giá trị của biểu thức.

Ví dụ:

 var a= 8; b = 4; x= 1;

 y = (a>b) && (x <4) //y sẽ trả về giá trị true

 z = (a <b) || (x<4) // z trả về true vì x< 4 trả về  true

 v = !(x< 4) // v trả về false vì x< 4 trả về  true

5) Toán tử chuỗi

Toán tử ghép (+) ghép hai giá trị chuỗi lại với nhau, trả về một chuỗi mới bao gồm  nội dung hai chuỗi cũ.

Ví dụ:

  var a = “spring is come.”;

  var b = ” I like spring season ”;

 z = a + b //z =”spring is come.I like spring season”;

Toán tử gán rút gọn += cũng có thể dùng để ghép chuỗi.

Ví dụ

var a = “I like to draw” ;

a+=”and I like to do exercise”; // a sẽ có kết quả là “I like to  draw and I like  to do exercise”

6) Toán tử điều kiện(toán tử ba ngôi)

Toán tử điều kiện là toán tử duy nhất trong javascript có 3 toán hạng.

Cú pháp như bên dưới.

Condition ? value1: value2

Nếu điều kiện trả về true, thì toán tử có giá trị là value1, ngược lại trả về false thì toán tử có giá trị là value2;

Ví dụ:

var check = 1;

a = (check === 1) ? ”pass” : “fail”;// a có giá trị là “pass”

7) Toán tử một ngôi(typeof)

Ở đây mình chỉ giới thiệu toán tử typeof, vì toán tử này rất hay dùng để check kiểu dữ liệu

Ví dụ

 var count = 1;

typeof count // trả về kiểu number

var date = new Date();

typeof date // trả về kiểu Object

Be the first to comment

Leave a Reply

Your email address will not be published.


*