Trong toán học chúng ta đã được học các phép toán: cộng +, trừ -, nhân *, chia / các phép toán này dùng để xác định cụ thể kiểu tính toán mà bạn muốn thực hiện trên các thành phần (toán hạng) của một công thức hay một biểu thức. Trong lập trình cũng thế, chúng cũng có những toán tử như thế, ngoài ra còn có thêm những toán tử khác. Trong bài này chúng ta sẽ cùng tìm hiểu xem toán tử là gì, các toán tử trong JavaScript và thứ tự ưu tiên của các toán tử trong javascript

Toán tử là gì?

Chúng ta xem biểu thức đơn giản sau: 4 + 5 = 9. Tại đây 4 và 5 là các toán hạng và ‘+’ được gọi là toán tử. Trong ngôn ngữ lập trình JavaScript hỗ trợ các kiểu toán tử sau:

  • Toán tử số học
  • Toán tử so sánh
  • Toán tử logic (hoặc quan hệ)
  • Toán tử gán
  • Toán tử điều kiện

Toán tử số học

JavaScript hỗ trợ các kiểu toán tử số học sau:

Toán tửMô tảVí dụ
+phép cộng25 + 5 = 30
-phép trừ10 – 5 = 5
*phép nhân2*3 = 6
/phép chia20 / 2 = 10
%lấy phần dư của phép chia56 / 3 = 2
++Tăng thêm 1var a = 10; a ++; //giá trị a là 11
--giảm đi 1var a = 10; a –; //giá trị a là 9

Lưu ý − Toán hạng cộng (+) làm việc với các số cũng như các chuỗi, ví dụ: “a” + 10 sẽ cho kết quả là “a10”.

STTToán tử và Miêu tả
1+ (Phép cộng)Cộng hai toán hạngEx: A + B sẽ cho kết quả là 30
2– (Phép trừ)Trừ toán hạng thứ hai từ toán hạng đầu.Ex: A – B sẽ cho kết quả là -10
3* (Phép nhân)Nhân hai toán hạngEx: A * B sẽ cho kết quả là 200
4/ (Phép chia)Chia số chia cho số bị chiaEx: B / A sẽ cho kết quả là 2
5% (Phép chia lấy phần dư)Kết quả là phần dư của phép chia.Ex: B % A sẽ cho kết quả là 0
6++ (Tăng lên 1)Tăng giá trị integer lên 1Ex: A++ sẽ cho kết quả là 11
7— (Giảm đi 1)Giảm một giá trị integer đi mộtEx: A– sẽ cho kết quả là 9

Toán tử gán

Toán tử gán được dùng để gán giá trị ở bên phải toán tử vào biến ở bên trái toán tử. Có các toán tử gán sau:

Toán tửVí dụÝ nghĩa
=x = ygán y vào x
+=x += yx = x + y
-=x -= yx = x – y
*=x *= yx = x * y
/=x /= yx = x / y
%=x %= yx = x % y

Hãy thử ví dụ sau đây:

<!DOCTYPE html>
<html>
<body>
<h2>The += Operator</h2>
<p id="demo"></p>
<script>
var x = 10;
x += 5;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>

Toán tử so sánh

Toán tử so sánh sử dụng trong các biểu thức về logic để so sánh bằng nhau, khác nhau. Nó trả về giá trị true false

JavaScript có một số toán tử so sánh, ví dụ so sánh bằng: ==

Bảng toán tử so sánh

Toán tửDiễn tảVí dụ
==so sánh bằng5 == 10 false
===giống nhau (cùng giá trị và kiểu dữ liệu)5 === 10 false
!=khác giá trị5 != 10 true
!==Khác giá trị và kiểu10 !== 10 false
>lớn hơn10 > 5 true
>=lớn hơn hoặc bằng10 >= 5 true
<nhỏ hơn10 < 5 false
<=nhỏ hơn10 <= 5 false

Khi sử dụng các toán tử này, hãy chắc chắn các số hạng có cùng kiểu; số so sánh với số; chuỗi so sánh với chuỗi …

Toán tử logic

Bảng toán tử logic gồm các phép toán : và - hoặc - phủ định

Toán tửDiễn tả
&&phép  trả về true nếu 2 số hạng là truea && b
||phép hoặc trả về true nếu 1 trong 2 số hạng là true : a || b
!phủ định; trả về giá trị ngược với biểu thức !a

Toán tử điều kiện

    variable = (condition) ? value1: value2;
Nhận giá trị value1 nếu điều kiện là đúng (true), nhận value2 nếu điều kiện sai (false)

Hãy thử ví dụ sau:

<html>
   <body>
       <script>
            var a = 10;
            var b = 20;
            var linebreak = "<br />";
         
            document.write ("((a > b) ? Đúng : Sai) => ");
            result = (a > b) ? "Đúng" : "Sai";
            document.write(result);
            document.write(linebreak);
         
            document.write ("((a < b) ? Đúng : Sai) => ");
            result = (a < b) ? "Đúng" : "Sai";
            document.write(result);
            document.write(linebreak);
      </script>
      <p>Hãy thiết lập các giá trị khác cho biến và thử lại để hiểu hơn...</p>
   </body>
</html>

Toán tử với chuỗi

Toán tử với chuỗi sử dụng nhiều là nối hai chuỗi lại với nhau, sử dụng toán tử + để nối.

Hãy thử ví dụ sau:

<html>
<body>
<h2>Toán tử chuỗi trong Javascript</h2>
<p>Dùng phép + để nối 2 chuỗi lại với nhau.</p>
<script>
let text1 = "Hello!";
let text2 = "I'm Wecode";
let text3 = text1 + " " + text2;
document.write(text3);
</script>
</body>
</html>

Bạn có thể dùng toán tử + để nối chuỗi với số. Hãy thử ví dụ dưới đây

<html>
<body>
<h2>Toán tử chuỗi trong Javascript</h2>
<p>Thêm một số hoặc 1 chuỗi vào chuỗi sẽ nhận được 1 chuỗi mới</p>
<p id="demo"></p>
<script>
let x = 5 + 5;
let y = "5" + 5;
let z = "Hello" + 5;
document.write(x + "<br>" + y + "<br>" + z);
</script>
</body>
</html>

Toán tử loại (typeof) trong JavaScript

Toán tử typeof là một toán tử một ngôi mà nó được đặt trước toán hạng (bất cứ kiểu dữ liệu nào). Nó trả về kiểu dữ liệu của toán hạng.

Dưới đây là danh sách các giá trị trả về cho toán tử typeof.

KiểuChuỗi trả về bởi toán tử typeof
Number“number”
String“string”
Boolean“boolean”
Object“object”
Hàm“function”
Undefined“undefined”
Null“object”

Hãy thử ví dụ dưới đây:

<html>
   <body>
      <script>
            var a = 10;
            var b = "String";
            var linebreak = "<br />";
         
            result = (typeof b == "string" ? "B is String" : "B is Numeric");
            document.write("Result => ");
            document.write(result);
            document.write(linebreak);
         
            result = (typeof a == "string" ? "A is String" : "A is Numeric");
            document.write("Result => ");
            document.write(result);
            document.write(linebreak);
      </script>
            <p>Hãy thiết lập các giá trị khác cho biến và thử lại để hiểu hơn...</p>
   </body>
</html>

Toán tử Bitwise JavaScript

Toán tử bit hoạt động trên số 32 bit.Bất kỳ toán hạng số nào trong phép toán đều được chuyển đổi thành số 32 bit. Kết quả được chuyển đổi lại thành một số JavaScript.

OperatorDescriptionExampleSame asResultDecimal
&AND5 & 10101 & 00010001 1
|OR5 | 10101 | 00010101 5
~NOT~ 5 ~01011010 10
^XOR5 ^ 10101 ^ 00010100 4
<<left shift5 << 10101 << 11010 10
>>right shift5 >> 10101 >> 10010  2
>>>unsigned right shift5 >>> 10101 >>> 10010  2

Bạn thử đoạn code sau về các toán tử thao tác Bit trong JavaScript:

<html>
   <body>
       <script>
            var a = 2; // Bit presentation 10
            var b = 3; // Bit presentation 11
            var linebreak = "<br />";
         
            document.write("(a & b) => ");
            result = (a & b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a | b) => ");
            result = (a | b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a ^ b) => ");
            result = (a ^ b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(~b) => ");
            result = (~b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a << b) => ");
            result = (a << b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a >> b) => ");
            result = (a >> b);
            document.write(result);
            document.write(linebreak);
      </script>
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

Trên đây là những kiến thức cơ bản về toán tử trong javascript giúp bạn có thêm những công cụ cần thiết trong tính toán hoặc thực hiện các biểu thức trong bài học của mình. Chúc bạn thành công.