| | JS cơ bản

Toán tử trong JavaScript

@
Toán học trong JavaScript và các toán tử dùng để (cộng, trừ, nhân, chia) và so sánh với nhau…

Toán tử trong JavaScript:
  • + (Phép cộng)
  • Cộng 2 số với nhau.
  • - (Phép trừ)
  • Lấy toán hạng 1 trừ đi toán hạng 2.
  • * (Phép nhân)
  • Nhân 2 số với nhau.
  • / (Phép chia)
  • Lấy toán hạng 1 chia cho toán hạng 2.
  • % (Phép chia lấy số dư)
  • Lấy toán hạng 1 chia cho toán hạng 2, trả lại kết quả là số dư của phép chia.
  • ++ (Cộng thêm 1 đơn vị)
  • Cộng thêm 1 đơn vị cho biến dạng number.
  • -- (Trừ đi 1 đơn vị)
  • Trừ đi 1 đơn vị cho biến dạng number.

Code ví dụ:
var a = 20, b = 10, res = null;
//khai báo dữ liệu
res = (a + b);
//res == 30
res = (a - b);
//res == 10
res = (a * b);
//res == 200
res = (a / b);
//res == 2
res = (a % b);
//res == 0
res = a++;
//res == a == 21
res = a--;
//res == a == 20

Lưu ý là các toán tử hoạt động theo qui tắc: từ trái qua phải và ưu tiên nhân chia trước, cộng trừ sau (giống như kiến thức toán học mà chúng ta được học vậy), bạn cần dùng dấu ngoặc tròn () để thay đổi thứ tự ưu tiên này.
var a = 2 + 3 * 4;
//a == 14
var b = (2 + 3) * 4;
//b == 20

Toán tử so sánh và toán tử logic:
  • == (Phép bằng)
  • Kiểm tra giá trị của 2 biến có bằng nhau không, nếu bằng nhau trả về true.
  • === (Phép bằng 2)
  • Kiểm tra giá trị của 2 biến có bằng nhau không và kiểu dữ liệu có giống nhau không, nếu bằng nhau và kiểu dữ liệu giống nhau trả về true.
  • != (Không cân bằng)
  • Kiểm tra giá trị của 2 biến có bằng nhau không, nếu không bằng nhau trả về true.
  • !== (Không cân bằng 2)
  • Kiểm tra giá trị của 2 biến có bằng nhau không và kiểu dữ liệu có giống nhau không, nếu không bằng nhau và kiểu dữ liệu không giống nhau trả về true.
  • > (Lớn hơn)
  • nếu giá trị của toán hạng trái lớn hơn toán hạng phải thì trả về true.
  • < (Nhỏ hơn)
  • nếu giá trị của toán hạng trái nhỏ hơn toán hạng phải thì trả về true.
  • >= (Lớn hơn hoặc bằng)
  • nếu giá trị của toán hạng trái lớn hơn hoặc bằng toán hạng phải thì trả về true.
  • <= (Nhỏ hơn hoặc bằng)
  • nếu giá trị của toán hạng trái nhỏ hơn hoặc bằng toán hạng phải thì trả về true.
  • && (AND)
  • Nếu cả hai biến đều có giá trị thì trả về true.
  • || (OR)
  • Nếu một trong hai biến có giá trị thì trả về true, (theo thứ tự từ trái qua phải).
  • ! (Phủ định)
  • Đảo ngược giá trị của biến (không thành có và ngược lại).

Code ví dụ:
var a = 20, b = 10, res = null;
var d = 1, e = '1';
//khai báo dữ liệu
(a == b);
// false
(a != b);
// true
(d == e);
// true
(d === e);
// false
(a > b);
// true
(a < b);
// false
(a >= b);
// true

res = (a && b) ? true : false;
//res == true
res = (a || b) ? true : false;
//res == true
res = !a;
//res == false
res = !!a;
//res == true

Toán tử gán giá trị cho biến:
  • = (Phép gán đơn giản)
  • Gán giá trị của biến này cho một biến khác.
  • += (Phép cộng và gán)
  • Gán giá trị cho biến biên trái thành giá trị của nó cộng với biến bên phải.
  • −= (Phép trừ và gán)
  • Gán giá trị cho biến biên trái thành giá trị của nó trừ đi biến bên phải.
  • *= (Phép nhân và gán)
  • Gán giá trị cho biến biên trái thành giá trị của nó nhân với biến bên phải.
  • /= (Phép chia và gán)
  • Gán giá trị cho biến biên trái thành giá trị của nó chia cho biến bên phải.
  • %= (Phép chia lấy phần dư và gán)
  • Chia biến bên trái cho biến bên phải rồi lấy số dư gán cho biến bên trái.

Code ví dụ:
var a = 20, b = 10, res = null;
res = a;
//res == 20
res = (a += b);
//res == a == 30
res = (a -= b);
//res == a == 20
res = (a *= b);
//res == a == 200

Toán tử thao tác với chuỗi:
Nối 2 chuỗi với nhau:
var a = 69, b = 'onjs';
var res = a + b;
//res == 69onjs
Gán giá trị cho biến:
var a = 69, b = 'onjs';
a += b;
//a == 69onjs

Toán tử Bitwise:
  • & (AND)
  • Thực hiện một phép toán AND logic trên mỗi bit của các tham số integer.
  • | (OR)
  • Thực hiện một phép toán OR logic trên mỗi bit của các tham số integer.
  • ^ (XOR)
  • Thực hiện một phép toán OR loại trừ logic trên mỗi bit của các tham số integer
  • ~ (NOT)
  • Toán tử một ngôi và thực hiện đảo ngược tất cả các bit trong toán hạng đó.
  • << (Zero fill left shift)
  • Di chuyển tất cả các bit trong toán hạng đầu tiên sang trái với số vị trí được xác định trong toán hạng thứ hai. Các bit mới được làm đầy bởi số 0. Chuyển dịch một giá trị sang trái một vị trí tương đương với nhân nó với 2, chuyển dịch 2 vị trí tương đương với nhân với 4, và cứ như vậy.
  • >> (Signed right shift)
  • Toán tử dịch phải nhị phân. Giá trị của toán hạng trái được di chuyển sang phải bởi số các bit được xác định bởi toán hạng phải.
  • >>> (Zero fill right shift)
  • Toán tử này khá giống với toán tử >>, ngoại trừ ở chỗ các bit được dịch chuyển sang trái luôn luôn là số 0.

Ví dụ về Bitwise:
var a = 69, b = 10, res = null;
res = (a & b);
//res == 0
res = (a | b);
//res == 30
res = (a ^ b);
//res == 30
res = ~ a;
//res == -21
res = (a << b);
//res == 20480
res = (a >> b);
//res == 0
res = (a >>> b);
//res == 0
  this.alter   ·   0   ·  
😂Smileys List   ·   ×