Skip to main content

Bài 5: Toán tử trong Javascript

Toán tử là gì ?

Chúng ta cùng quan sát một biểu thức đơn giản sau:
4 + 5 = 9.
Ở đây 4 và 5 được gọi là toán hạng; dấu " + " được gọi là toán tử. Javascript hỗ trợ những loại toán tử sau:
  • Toán tử toán học
  • Toán tử so sánh
  • Toán tử  Logic (hay quan hệ)
  • Toán tử gán
  • Toán tử điều kiện
Bài 5: Toán tử trong Javascript
Bài 5: Toán tử trong Javascript
Cùng đi vào chi tiến của từng loại toán tử:

Toán tử toán học:

Cho a = 9
Toán tử toán học có các loại sau: 
Cộng ( + )
Trừ ( - )
Nhân ( * )
Chia lấy nguyên ( \ )
Chia lấy dư ( % )
Toán tử tăng ( ++ ): ví dụ a++ sẽ bằng 10 ( a = a + 1)
Toán tử giảm ( -- ) : ví dụ a-- sẽ bằng 8 ( a = a - 1)

Thực hiện đoạn code sau và chạy thử để hiểu rõ hơn:
<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>
   </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 
Chú ý: Toán tử cộng (+) có thể cộng một chuỗi với một số, ví dụ: "Toi yeu so" + 9

Toán tử so sánh:

Cho a = 10; b = 20;
  • So sánh bằng ( == ) : Kiểm tra hai giá trị có bằng nhau không. Nếu có trả về True, nếu không thì trả về False. Ví dụ (a==b) trả về False
  • So sánh không bằng ( != ) : Nếu hai giá trị không bằng nhau trả về True, bằng trả về False.
  • So sánh lớn hơn ( > ) : Nếu giá trị bên trái lớn hơn phải trả về True, còn không trả về False.
  • So sánh bé hơn ( < ) : Nếu giá trị bên trái nhỏ hơn phải trả về True, còn không trả về False.
  • So sánh lớn hơn bằng ( >= ) : Nếu giá trị bên trái lớn hơn hoặc bằng giá trị bên phải trả về True, còn không trả về False.
  • So sánh bé hơn bằng ( <= ) : Nếu giá trị bên trái nhỏ hơn hoặc bằng giá trị bên phải trả về True, còn không trả về False.

Toán tử Logic (hay quan hệ):

Cho a = True; b = False;
Toán tử Và ( && ) : Ví dụ a&&b. Trả về True nếu cả a và b đều True
Toán tử Hoặc ( || ) : Ví dụ a || b. Trả về True nếu a hoặc b True. 
Toán tử Khác ( ! ) : Trả ngược lại kết quả của một phép Logic. Ví trụ !True là False

Thực hiện đoạn code sau và chạy thử để hiểu rõ hơn:
<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>
   </body>
</html>
Kết quả:
(a && b) => false
(a || b) => true
!(a && b) => true

Toán tử Bitwise:

Updating...

Toán tử gán:

  • Gán bằng ( = ) : Gán giá trị bên phải cho biến bên trái. ví dụ c = a + b
  • Cộng và gán ( += ) : c+=a tương đương c = c + a
  • Trừ và gá ( -= ) : c-=a tương đương c = c - a
  • Nhân và gán ( *= ) : c*=a tương đương c = c * a
  • Chia và gán ( /= ) : c/=a tương đương c = c / a
  • Chia lấy dư và gán ( %= ) : c%=a tương đương c = c % a
Thực hiện đoạn code sau và chạy thử để hiểu rõ hơn:

<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>
   </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ử kết hợp:

Toán tử điều kiện ( ? : )

Đây là toán tử rút gọn của câu lệnh điều kiện if-else
Biểu thức ? Giá trị 1 : Giá trị 2
Nếu Biểu thức trả về True thì nhận Giá trị 1 còn trả về False thì nhận Giá trị 2

Thực hiện đoạn code sau và chạy thử để hiểu rõ hơn:
<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>
   </body>
</html>
Kết quả:
((a > b) ? 100 : 200) => 200
((a < b) ? 100 : 200) => 100

Toán tử typeof:

Toán tử typeof dùng để kiểm tra kiểu dữ liệu của toán hạng dựa vào việc đánh giá.
Dưới đây là những giá trị trả về cho toán tử typeof :


KiểuChuỗi được trả về bởi typeof
Number"number"
String"string"
Boolean"boolean"
Object"object"
Function"function"
Undefined"undefined"
Null"object"
Thực hiện đoạn code sau và chạy thử để hiểu rõ hơn:


<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>
   </body>
</html>

Kết quả:
Result => B is String
Result => A is Numeric



Comments

Popular posts from this blog

Algorithm looks for the first character not repeating

Given a string  s , find and return the first instance of a non-repeating character in it. If there is no such character, return  '_' . Example For  s = "abacabad" , the output should be firstNotRepeatingCharacter(s) = 'c' . There are  2  non-repeating characters in the string:  'c'  and  'd' . Return  c  since it appears in the string first. For  s = "abacabaabacaba" , the output should be firstNotRepeatingCharacter(s) = '_' . There are no characters in this string that do not repeat. Input/Output [time limit] 500ms (cpp) [input] string s A string that contains only lowercase English letters. Guaranteed constraints: 1 ≤ s.length ≤ 10 5 . [output] char The first non-repeating character in  s , or  '_'  if there are no characters that do not repeat. My this solution: char firstNotRepeatingCharacter(std::string s) {     char temp = ' ';     for (int i...

Algorithms: Tower of Hanoi

Có 3 chiếc cọc được đánh dấu lần lượt là A, B, C và n chiếc đĩa. Các đĩa này có kích thước khác nhau và mỗi đĩa đều có một lỗ ở giữa để cắm vào cọc. Ban đầu, các đĩa đều nằm ở cọc A, trong đó, đĩa nhỏ luôn nằm trên đĩa lớn hơn. Solution:

Series Javascript cho người mới bắt đầu

Javascript là một ngôn ngữ kịch bản nhẹ, là ngôn ngữ thông dịch được thiết cho việc tạo ra các ứng dụng mạng tập trung. Nó có cấu trúc tương tự với Java. Javascript rất dễ dàng để chạy bởi vì nó kết hợp với HTML. Hơn nữa Javascript là nền tảng mã nguồn mở. Trong series này mình sẽ trình chạy một cách chi tiết từ cơ bản về javascript. Các bài trong series này sẽ được tham khảo từ tutorialspoint và các nguồn khác nhau. Series Javascript cho người mới bắt đầu