Javascript – Toán tử

Toán tử là gì?

Chúng ta hãy lấy một biểu thức đơn giản 4 + 5 bằng 9. Ở đây 4 và 5 được gọi là toán hạng và ‘+’ được gọi là toán tử. JavaScript hỗ trợ các loại 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ử có điều kiện (hoặc ternary)

Chúng ta hãy xem từng toán tử một.

Toán tử số học

JavaScript hỗ trợ các toán tử số học sau –

Giả sử biến A giữ 10 và biến B giữ 20, sau đó –

Sr.No.Operator & Description
1+ (Addition) Adds two operands Ex: A + B will give 30
2– (Subtraction) Subtracts the second operand from the first Ex: A – B will give -10
3* (Multiplication) Multiply both operands Ex: A * B will give 200
4/ (Division) Divide the numerator by the denominator Ex: B / A will give 2
5% (Modulus) Outputs the remainder of an integer division Ex: B % A will give 0
6++ (Increment) Increases an integer value by one Ex: A++ will give 11
7— (Decrement) Decreases an integer value by one Ex: A– will give 9

Lưu ý – Toán tử cộng (+) hoạt động cho Số cũng như Chuỗi. ví dụ. “a” + 10 sẽ cho “a10”.
Ví dụ

Đoạn mã sau cho biết cách sử dụng toán tử số học trong JavaScript.

<html>
   <body>
   
      <script type = "text/javascript">
         <!--
            var a = 33;
            var b = 10;
            var c = "Test";
            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("a % b = ");
            result = a % b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a + b + c = ");
            result = a + b + c;
            document.write(result);
            document.write(linebreak);
         
            a = ++a;
            document.write("++a = ");
            result = ++a;
            document.write(result);
            document.write(linebreak);
         
            b = --b;
            document.write("--b = ");
            result = --b;
            document.write(result);
            document.write(linebreak);
         //-->
      </script>
      
      Set the variables to different values and then try...
   </body>
</html>

Kết quả

a + b = 43
a - b = 23
a / b = 3.3
a % b = 3
a + b + c = 43Test
++a = 35
--b = 8

Toán tử so sánh

JavaScript hỗ trợ các toán tử so sánh sau –

Giả sử biến A giữ 10 và biến B giữ 20, sau đó –

Sr.No.Operator & Description
1= = (Equal) Checks if the value of two operands are equal or not, if yes, then the condition becomes true. Ex: (A == B) is not true.
2!= (Not Equal) Checks if the value of two operands are equal or not, if the values are not equal, then the condition becomes true. Ex: (A != B) is true.
3> (Greater than) Checks if the value of the left operand is greater than the value of the right operand, if yes, then the condition becomes true. Ex: (A > B) is not true.
4< (Less than) Checks if the value of the left operand is less than the value of the right operand, if yes, then the condition becomes true. Ex: (A < B) is true.
5>= (Greater than or Equal to) Checks if the value of the left operand is greater than or equal to the value of the right operand, if yes, then the condition becomes true. Ex: (A >= B) is not true.
6<= (Less than or Equal to) Checks if the value of the left operand is less than or equal to the value of the right operand, if yes, then the condition becomes true. Ex: (A <= B) is true.

Ví dụ

Đoạn mã sau cho biết cách sử dụng các toán tử so sánh trong JavaScript.

<html>
   <body>  
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = 20;
            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("(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);
         //-->
      </script>      
      Set the variables to different values and different operators and then try...
   </body>
</html>

Output

(a == b) => false 
(a < b) => true 
(a > b) => false 
(a != b) => true 
(a >= b) => false 
a <= b) => true
Set the variables to different values and different operators and then try...

Toán tử logic

JavaScript hỗ trợ các toán tử logic sau –

Giả sử biến A giữ 10 và biến B giữ 20, sau đó –

Sr.No.Operator & Description
1&& (Logical AND) If both the operands are non-zero, then the condition becomes true. Ex: (A && B) is true.
2|| (Logical OR) If any of the two operands are non-zero, then the condition becomes true. Ex: (A || B) is true.
3! (Logical NOT) Reverses the logical state of its operand. If a condition is true, then the Logical NOT operator will make it false. Ex: ! (A && B) is false.

Ví dụ

Hãy thử đoạn mã sau để tìm hiểu cách triển khai Toán tử logic trong JavaScript.

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = true;
            var b = false;
            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);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

Kết quả

(a && b) => false 
(a || b) => true 
!(a && b) => true

Toán tử Bitwise

JavaScript hỗ trợ các toán tử theo bit sau –

Giả sử biến A giữ 2 và biến B giữ 3, sau đó –

Sr.No.Operator & Description
1& (Bitwise AND) It performs a Boolean AND operation on each bit of its integer arguments. Ex: (A & B) is 2.
2| (BitWise OR) It performs a Boolean OR operation on each bit of its integer arguments. Ex: (A | B) is 3.
3^ (Bitwise XOR) It performs a Boolean exclusive OR operation on each bit of its integer arguments. Exclusive OR means that either operand one is true or operand two is true, but not both. Ex: (A ^ B) is 1.
4~ (Bitwise Not) It is a unary operator and operates by reversing all the bits in the operand. Ex: (~B) is -4.
5<< (Left Shift) It moves all the bits in its first operand to the left by the number of places specified in the second operand. New bits are filled with zeros. Shifting a value left by one position is equivalent to multiplying it by 2, shifting two positions is equivalent to multiplying by 4, and so on. Ex: (A << 1) is 4.
6>> (Right Shift) Binary Right Shift Operator. The left operand’s value is moved right by the number of bits specified by the right operand. Ex: (A >> 1) is 1.
7>>> (Right shift with Zero) This operator is just like the >> operator, except that the bits shifted in on the left are always zero. Ex: (A >>> 1) is 1.

Ví dụ

Hãy thử đoạn mã sau để triển khai toán tử Bitwise trong JavaScript.

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            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>

Kết quả

(a & b) => 2 
(a | b) => 3 
(a ^ b) => 1 
(~b) => -4 
(a << b) => 16 
(a >> b) => 0

Toán tử gán

JavaScript hỗ trợ các toán tử gán sau đây –

Sr.No.Operator & Description
1= (Simple Assignment ) Assigns values from the right side operand to the left side operand Ex: C = A + B will assign the value of A + B into C
2+= (Add and Assignment) It adds the right operand to the left operand and assigns the result to the left operand. Ex: C += A is equivalent to C = C + A
3−= (Subtract and Assignment) It subtracts the right operand from the left operand and assigns the result to the left operand. Ex: C -= A is equivalent to C = C – A
4*= (Multiply and Assignment) It multiplies the right operand with the left operand and assigns the result to the left operand. Ex: C *= A is equivalent to C = C * A
5/= (Divide and Assignment) It divides the left operand with the right operand and assigns the result to the left operand. Ex: C /= A is equivalent to C = C / A
6%= (Modules and Assignment) It takes modulus using two operands and assigns the result to the left operand. Ex: C %= A is equivalent to C = C % A

Ví dụ

Hãy thử đoạn mã sau để triển khai toán tử gán trong JavaScript.

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 33;
            var b = 10;
            var linebreak = "<br />";
         
            document.write("Value of a => (a = b) => ");
            result = (a = b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a += b) => ");
            result = (a += b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a -= b) => ");
            result = (a -= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a *= b) => ");
            result = (a *= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a /= b) => ");
            result = (a /= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (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>

Kết quả

Value of a => (a = b) => 10
Value of a => (a += b) => 20 
Value of a => (a -= b) => 10 
Value of a => (a *= b) => 100 
Value of a => (a /= b) => 10
Value of a => (a %= b) => 0

Toán tử 3 ngôi

Chúng ta sẽ thảo luận về hai toán tử ở đây khá hữu ích trong JavaScript: toán tử điều kiện (?:) và toán tử typeof.
điều kiện (? 🙂

Toán tử điều kiện trước tiên đánh giá một biểu thức cho giá trị đúng hoặc sai, sau đó thực hiện một trong hai câu lệnh đã cho tùy thuộc vào kết quả đánh giá.

Sr.No.Operator and Description
1? : (Conditional ) If Condition is true? Then value X : Otherwise value Y

Ví dụ

Hãy thử đoạn mã sau để hiểu cách hoạt động của Toán tử có điều kiện trong JavaScript.

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = 20;
            var linebreak = "<br />";
         
            document.write ("((a > b) ? 100 : 200) => ");
            result = (a > b) ? 100 : 200;
            document.write(result);
            document.write(linebreak);
         
            document.write ("((a < b) ? 100 : 200) => ");
            result = (a < b) ? 100 : 200;
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

Kết quả

((a > b) ? 100 : 200) => 200 
((a < b) ? 100 : 200) => 100

Toán tử typeof

Toán tử typeof là một toán tử đơn hạng được đặt trước toán hạng đơn của nó, có thể thuộc bất kỳ loại nào. Giá trị của nó là một chuỗi cho biết kiểu dữ liệu của toán hạng.

Toán tử typeof đánh giá thành “số”, “chuỗi” hoặc “boolean” nếu toán hạng của nó là một số, chuỗi hoặc giá trị boolean và trả về đúng hoặc sai dựa trên đánh giá.

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

TypeString Returned by typeof
Number“number”
String“string”
Boolean“boolean”
Object“object”
Function“function”
Undefined“undefined”
Null“object”

Ví dụ

Đoạn mã sau chỉ ra cách triển khai toán tử typeof.

<html>
   <body>      
      <script type = "text/javascript">
         <!--
            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>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

Kết quả

Result => B is String 
Result => A is Numeric