tek4

Toán tử so sánh và Logic trong JavaScript

by - September. 26, 2021
Kiến thức
Học
<p><img class="aligncenter wp-image-8291 size-full" src="https://tek4.vn/wp-content/uploads/2021/02/Capture-89.png" alt="To&aacute;n tử so s&aacute;nh v&agrave; Logic trong JavaScript" width="561" height="344" /></p> <p>Trong b&agrave;i viết n&agrave;y, ta sẽ c&ugrave;ng t&igrave;m hiểu về to&aacute;n tử so s&aacute;nh v&agrave; Logic trong JavaScript c&ugrave;ng với c&aacute;c v&iacute; dụ dẫn chứng.</p> <h1>1. To&aacute;n tử so s&aacute;nh trong JavaScript</h1> <p>To&aacute;n tử so s&aacute;nh được sử dụng để thực hiện so s&aacute;nh hai gi&aacute; trị v&agrave; trả về gi&aacute; trị kiểu Boolean bao gồm true (đ&uacute;ng) hoặc false (sai). To&aacute;n tử so s&aacute;nh được sử dụng trong việc đưa ra c&aacute;c quyết định cho luồng thực thi của chương tr&igrave;nh v&agrave; cho c&aacute;c v&ograve;ng lặp.</p> <table> <tbody> <tr> <td style="text-align: center;">To&aacute;n tử</td> <td style="text-align: center;">M&ocirc; tả</td> <td style="text-align: center;">V&iacute; dụ</td> </tr> <tr> <td style="text-align: center;">==</td> <td>Hai biểu thức c&oacute; bằng nhau hay kh&ocirc;ng.</td> <td style="text-align: center;">a == b</td> </tr> <tr> <td style="text-align: center;">!=</td> <td>Hai biểu thức c&oacute; kh&aacute;c nhau hay kh&ocirc;ng.</td> <td style="text-align: center;">a != b</td> </tr> <tr> <td style="text-align: center;">===</td> <td>Hai biểu thức c&oacute; giống nhau về gi&aacute; trị hoặc kiểu dữ liệu hay kh&ocirc;ng.</td> <td style="text-align: center;">a === b</td> </tr> <tr> <td style="text-align: center;">!==</td> <td>Hai biểu thức c&oacute; kh&aacute;c nhau về kiểu dữ liệu hoặc kh&aacute;c nhau về cả gi&aacute; trị v&agrave; kiểu dữ liệu hay kh&ocirc;ng.</td> <td style="text-align: center;">a !== b</td> </tr> <tr> <td style="text-align: center;">&gt;</td> <td>Biểu thức b&ecirc;n tr&aacute;i c&oacute; lớn hơn biểu thức b&ecirc;n phải hay kh&ocirc;ng.</td> <td style="text-align: center;">a &gt; b</td> </tr> <tr> <td style="text-align: center;">&gt;=</td> <td>Biểu thức b&ecirc;n tr&aacute;i c&oacute; lớn hơn hoặc bằng biểu thức b&ecirc;n phải hay kh&ocirc;ng.</td> <td style="text-align: center;">a &gt;= b</td> </tr> <tr> <td style="text-align: center;">&lt;</td> <td>Biểu thức b&ecirc;n tr&aacute;i c&oacute; nhỏ hơn biểu thức b&ecirc;n phải hay kh&ocirc;ng.</td> <td style="text-align: center;">a &lt; b</td> </tr> <tr> <td style="text-align: center;">&lt;=</td> <td>Biểu thức b&ecirc;n tr&aacute;i c&oacute; nhỏ hơn hoặc bằng biểu thức b&ecirc;n phải hay kh&ocirc;ng.</td> <td style="text-align: center;">a &lt;= b</td> </tr> </tbody> </table> <p>V&iacute; dụ: To&aacute;n tử so s&aacute;nh =.</p> <pre class="EnlighterJSRAW" data-enlighter-language="js">console.log(1 == 5); console.log('2' == '2'); console.log(100 == '100');</pre> <p>Kết quả:</p> <pre>false true true</pre> <p>Trong đoạn m&atilde; tr&ecirc;n, to&aacute;n tử (==) sẽ đ&aacute;nh gi&aacute; l&agrave; gi&aacute; trị true nếu c&aacute;c to&aacute;n hạng bằng nhau.</p> <p><strong><span style="background-color: #ffff00;">Ch&uacute; &yacute;: Trong JavaScript, == l&agrave; một to&aacute;n tử so s&aacute;nh, trong khi = l&agrave; một to&aacute;n tử g&aacute;n. Nếu ta sử dụng nhầm = thay v&igrave; ==, ta c&oacute; thể nhận được kết quả kh&ocirc;ng mong muốn.</span></strong></p> <p>V&iacute; dụ: To&aacute;n tử !=.</p> <pre class="EnlighterJSRAW" data-enlighter-language="js">console.log(1 != 2); console.log(100 != '100');</pre> <p>Kết quả:</p> <pre>true false</pre> <p>To&aacute;n tử != đ&aacute;nh gi&aacute; l&agrave; gi&aacute; trị true nếu c&aacute;c to&aacute;n hạng kh&ocirc;ng bằng nhau.</p> <p>V&iacute; dụ: To&aacute;n tử ===.</p> <pre class="EnlighterJSRAW" data-enlighter-language="js">console.log(1 === 2); console.log(100 === '100');</pre> <p>Kết quả:</p> <pre>False False</pre> <p>To&aacute;n tử === sẽ đ&aacute;nh gi&aacute; l&agrave; true nếu c&aacute;c to&aacute;n hạng c&oacute; gi&aacute; trị bằng nhau v&agrave; c&ugrave;ng kiểu dữ liệu. Ở đ&acirc;y 1 v&agrave; 2 l&agrave; c&aacute;c số kh&aacute;c nhau. V&agrave; to&aacute;n tử === cũng được sử dụng để kiểm tra kiểu dữ liệu trong khi so s&aacute;nh. 100 v&agrave; '100' l&agrave; hai to&aacute;n hạng c&oacute; gi&aacute; trị giống nhau nhưng kh&aacute;c nhau về kiểu dữ liệu, do đ&oacute; gi&aacute; trị false sẽ được trả về.</p> <p><strong><span style="background-color: #ffff00;">Ch&uacute; &yacute;: Sự kh&aacute;c biệt giữa to&aacute;n tử == v&agrave; === l&agrave; </span></strong><strong><span style="background-color: #ffff00;">to&aacute;n tử == c&oacute; nhiệm vụ đ&aacute;nh gi&aacute; l&agrave; true nếu c&aacute;c to&aacute;n hạng bằng nhau, tuy nhi&ecirc;n, to&aacute;n tử === c&oacute; nhiệm vụ đ&aacute;nh gi&aacute; l&agrave; true nếu c&aacute;c to&aacute;n hạng bằng nhau v&agrave; c&oacute; c&ugrave;ng kiểu dữ liệu.</span></strong></p> <p>V&iacute; dụ: To&aacute;n tử !==.</p> <pre class="EnlighterJSRAW" data-enlighter-language="js">console.log(1 !== 2); console.log(100 !== '100'); console.log('JavaScript' !== 'JavaScript');</pre> <p>Kết quả:</p> <pre>true true false</pre> <p>To&aacute;n tử !== đ&aacute;nh gi&aacute; l&agrave; true nếu c&aacute;c to&aacute;n hạng ho&agrave;n to&agrave;n kh&ocirc;ng bằng nhau. N&oacute; ho&agrave;n to&agrave;n tr&aacute;i ngược với to&aacute;n tử ===.</p> <p>V&iacute; dụ: To&aacute;n tử lớn hơn &gt;.</p> <pre class="EnlighterJSRAW" data-enlighter-language="js">console.log(1 &gt; 2);</pre> <p>Kết quả:</p> <pre>false</pre> <p>To&aacute;n tử &gt; thực hiện việc đ&aacute;nh gi&aacute; l&agrave; true nếu to&aacute;n hạng b&ecirc;n tr&aacute;i lớn hơn to&aacute;n hạng b&ecirc;n phải.</p> <p>V&iacute; dụ: To&aacute;n lớn hơn hoặc bằng &gt;=.</p> <pre class="EnlighterJSRAW" data-enlighter-language="js">console.log(2 &gt;= 2);</pre> <p>Kết quả:</p> <pre>True</pre> <p>To&aacute;n tử &gt;= đ&aacute;nh gi&aacute; l&agrave; true nếu to&aacute;n hạng b&ecirc;n tr&aacute;i lớn hơn hoặc bằng to&aacute;n hạng b&ecirc;n phải.</p> <h1>2. To&aacute;n tử Logic trong JavaScript</h1> <p>C&aacute;c to&aacute;n tử Logic sẽ thực hiện c&aacute;c ph&eacute;p to&aacute;n Logic bao gồm: AND, OR v&agrave; NOT.</p> <table> <tbody> <tr> <td style="text-align: center;">To&aacute;n tử</td> <td style="text-align: center;">M&ocirc; tả</td> <td style="text-align: center;">V&iacute; dụ</td> </tr> <tr> <td style="text-align: center;">&amp;&amp;</td> <td>Trả về true nếu cả 2 biểu thức đều đ&uacute;ng.</td> <td style="text-align: center;">a &amp;&amp; b</td> </tr> <tr> <td style="text-align: center;">||</td> <td>Trả về true nếu 1 trong 2 biểu thức l&agrave; đ&uacute;ng.</td> <td style="text-align: center;">a || b</td> </tr> <tr> <td style="text-align: center;">!</td> <td>Trả về true nếu biểu thức l&agrave; sai.</td> <td style="text-align: center;">!a</td> </tr> </tbody> </table> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="js">console.log(1 &amp;&amp; 1); console.log(1 &amp;&amp; 0); console.log((3 &gt; 1) &amp;&amp; (1 &lt; 3));</pre> <p>Kết quả:</p> <pre>1 0 True</pre> <p>To&aacute;n tử &amp;&amp; đ&aacute;nh gi&aacute; l&agrave; true nếu cả hai to&aacute;n hạng đều đ&uacute;ng, ngược lại n&oacute; sẽ đ&aacute;nh gi&aacute; l&agrave; false.</p> <p><strong><span style="background-color: #ffff00;">Ch&uacute; &yacute;: Ta cũng c&oacute; thể sử dụng c&aacute;c to&aacute;n tử Logic với c&aacute;c số. Trong JavaScript, 0 l&agrave; false v&agrave; tất cả c&aacute;c gi&aacute; trị kh&aacute;c 0 đều l&agrave; true.</span></strong></p> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="js">console.log(1 || 0); console.log(0 || 0); console.log((3 &gt; 2) || (1 &gt; 10));</pre> <p>Kết quả:</p> <pre>1 0 True</pre> <p>To&aacute;n tử || đ&aacute;nh gi&aacute; l&agrave; true nếu một trong c&aacute;c to&aacute;n hạng l&agrave; true. Nếu tất cả c&aacute;c to&aacute;n hạng đều false, kết quả sẽ l&agrave; false. Hoặc nếu cả 2 to&aacute;n hạng l&agrave; 0 th&igrave; kết quả l&agrave; 0, v&agrave; 1 trong 2 to&aacute;n hạng c&oacute; gi&aacute; trị l&agrave; 1 th&igrave; kết quả l&agrave; 1.</p> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="js">console.log(!1); console.log(!0); console.log(!false);</pre> <p>Kết quả:</p> <pre>false true true</pre> <p>To&aacute;n tử ! đ&aacute;nh gi&aacute; l&agrave; true nếu to&aacute;n hạng l&agrave; false v&agrave; ngược lại. V&igrave; 0 được coi tương đương với gi&aacute; trị l&agrave; false, do đ&oacute; biểu thức !0 sẽ được đ&aacute;nh gi&aacute; l&agrave; true v&agrave; c&aacute;c số kh&aacute;c 0 tương đương với gi&aacute; trị true, v&agrave; do đ&oacute; biểu thức !1 sẽ được đ&aacute;nh gi&aacute; l&agrave; false.</p> <p>Tr&ecirc;n đ&acirc;y l&agrave; kh&aacute;i niệm v&agrave; v&iacute; dụ cơ bản về to&aacute;n tử so s&aacute;nh v&agrave; to&aacute;n tử Logic trong JavaScript. Hy vọng mọi người c&oacute; thể &aacute;p dụng v&agrave;o trong chương tr&igrave;nh của m&igrave;nh. Mọi người h&atilde;y tiếp tục theo d&otilde;i c&aacute;c b&agrave;i tiếp theo v&agrave; cập nhật c&aacute;c b&agrave;i tiếp theo tr&ecirc;n <a href="http://tek4.vn">tek4</a> nh&eacute;!</p> <p>P/s: Cảm ơn mọi người đ&atilde; tin tưởng tek4!</p>