Các toán tử so sánh và logic được sử dụng để kiểm tra
let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
0 hoặc let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
1.Toán tử so sánh
Các toán tử so sánh được sử dụng trong các câu lệnh logic để xác định sự bình đẳng hoặc khác biệt giữa các biến hoặc giá trị.
Cho rằng
let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
2, bảng bên dưới giải thích các toán tử so sánh:Làm thế nào có thể sử dụng nó
Các toán tử so sánh có thể được sử dụng trong các câu lệnh có điều kiện để so sánh các giá trị và thực hiện hành động tùy thuộc vào kết quả:
if [tuổi 18] { alert[ 'The office is closed.' ]; }3 và
let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
4, bảng bên dưới giải thích các toán tử logic:
&& | và | [x < 10 && y > 1] is true | Thử nó " |
|| | hoặc | [x == 5 || y == 5] là sai | Thử nó " |
|| | hoặc | [x == 5 || y == 5] là sai | Thử nó " |
||
hoặc
[x == 5 || y == 5] là sai
!!
Thí dụ
Thử nó
&&
và
When comparing a string with a number, JavaScript will convert the string to a number when doing the comparison. An empty string converts to 0. A non-numeric string converts to
let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
5 which is always let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
1.
[x == 5 || y == 5] là sai | !! | Thử nó " |
|| | !! | Thử nó " |
|| | hoặc | Thử nó " |
|| | hoặc | Thử nó " |
|| | hoặc | Thử nó " |
|| | hoặc | Thử nó " |
|| | !! | Thử nó " |
|| | hoặc | Thử nó " |
||
hoặc
[x == 5 || y == 5] là sai
if [isNaN[age]] {
voteable = "Input is not a number";
} else {
voteable = [age < 18] ? "Too young" : "Old enough";
}
!!
không phải
! [x == y] là đúng
Thí dụ
Thử nó
let text = "missing";
let result = name ?? text;
!!
không phải
! [x == y] là đúng | Nhà điều hành có điều kiện [ternary] | JavaScript cũng chứa một toán tử có điều kiện gán giá trị cho một biến dựa trên một số điều kiện. | Cú pháp | variablename = [điều kiện]? Value1: value2 & nbsp; |
Nếu tuổi biến là một giá trị dưới 18, giá trị của biến số có thể bỏ phiếu sẽ là "quá trẻ", nếu không giá trị của có thể bỏ phiếu sẽ là "đủ tuổi". | Nếu tuổi biến là một giá trị dưới 18, giá trị của biến số có thể bỏ phiếu sẽ là "quá trẻ", nếu không giá trị của có thể bỏ phiếu sẽ là "đủ tuổi". | So sánh các loại khác nhau | So sánh dữ liệu của các loại khác nhau có thể cho kết quả bất ngờ. | So sánh dữ liệu của các loại khác nhau có thể cho kết quả bất ngờ. |
Khi so sánh một chuỗi với một số, JavaScript sẽ chuyển đổi chuỗi thành một số khi thực hiện so sánh. Một chuỗi trống chuyển đổi thành 0. Một chuỗi không phải là số chuyển đổi thành let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
5 luôn luôn là let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
1.
let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
Trường hợp
Thí dụ
Thử nó
const car = {type:"Fiat", model:"500", color:"white"};
// Ask for car name:
document.getElementById["demo"].innerHTML = car?.name;
!!
không phải
! [x == y] là đúng | Nhà điều hành có điều kiện [ternary] | JavaScript cũng chứa một toán tử có điều kiện gán giá trị cho một biến dựa trên một số điều kiện. | Cú pháp | variablename = [điều kiện]? Value1: value2 & nbsp; |
Nếu tuổi biến là một giá trị dưới 18, giá trị của biến số có thể bỏ phiếu sẽ là "quá trẻ", nếu không giá trị của có thể bỏ phiếu sẽ là "đủ tuổi". | Nếu tuổi biến là một giá trị dưới 18, giá trị của biến số có thể bỏ phiếu sẽ là "quá trẻ", nếu không giá trị của có thể bỏ phiếu sẽ là "đủ tuổi". | So sánh các loại khác nhau | So sánh dữ liệu của các loại khác nhau có thể cho kết quả bất ngờ. | So sánh dữ liệu của các loại khác nhau có thể cho kết quả bất ngờ. |
Có bốn toán tử logic trong JavaScript:
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
4 [hoặc], let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 [và], let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
6 [không], let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
7 [Nullish Coalescing]. Ở đây chúng tôi bao gồm ba người đầu tiên, nhà điều hành let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
7 nằm trong bài viết tiếp theo.Mặc dù chúng được gọi là logic logic, nhưng chúng có thể được áp dụng cho các giá trị thuộc bất kỳ loại nào, không chỉ boolean. Kết quả của họ cũng có thể là bất kỳ loại.
Hãy cùng xem các chi tiết.
|| [HOẶC]
Toán tử hoặc toán tử được biểu thị bằng hai ký hiệu đường thẳng đứng:
Trong lập trình cổ điển, logic hoặc có nghĩa là chỉ thao tác các giá trị boolean. Nếu bất kỳ đối số nào của nó là
let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
0, nó sẽ trả về let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
0, nếu không nó sẽ trả về let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
1.Trong JavaScript, nhà điều hành khó khăn hơn một chút và mạnh mẽ hơn. Nhưng trước tiên, hãy để Lừa xem những gì xảy ra với các giá trị Boolean.
Có bốn kết hợp logic có thể có:
alert[ true || true ]; // true
alert[ false || true ]; // true
alert[ true || false ]; // true
alert[ false || false ]; // false
Như chúng ta có thể thấy, kết quả luôn là
let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
0 ngoại trừ trường hợp khi cả hai toán hạng là let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
1.Nếu một toán hạng không phải là boolean, thì nó đã chuyển đổi thành boolean để đánh giá.
Chẳng hạn, số
result = value1 || value2 || value3;
4 được coi là let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
0, số result = value1 || value2 || value3;
6 là let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
1:if [1 || 0] { // works just like if[ true || false ]
alert[ 'truthy!' ];
}
Hầu hết thời gian, hoặc
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
4 được sử dụng trong một tuyên bố result = value1 || value2 || value3;
9 để kiểm tra xem có bất kỳ điều kiện nào là let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
0.Ví dụ:
let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
Chúng ta có thể vượt qua nhiều điều kiện hơn:
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
Hoặc "||" tìm thấy giá trị sự thật đầu tiên
Logic được mô tả ở trên là hơi cổ điển. Bây giờ, hãy để Lừa mang theo các tính năng bổ sung của JavaScript.
Thuật toán mở rộng hoạt động như sau.
Đưa ra nhiều giá trị hoặc có giá trị:
result = value1 || value2 || value3;
Toán tử hoặc
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
4 thực hiện như sau:- Đánh giá các toán hạng từ trái sang phải.
- Đối với mỗi toán hạng, chuyển đổi nó thành boolean. Nếu kết quả là
0, hãy dừng và trả về giá trị ban đầu của toán hạng đó.let hour = 9; if [hour < 10 || hour > 18] { alert[ 'The office is closed.' ]; }
- Nếu tất cả các toán hạng đã được đánh giá [nghĩa là tất cả đều là
1], hãy trả về toán hạng cuối cùng.let hour = 9; if [hour < 10 || hour > 18] { alert[ 'The office is closed.' ]; }
Một giá trị được trả về ở dạng ban đầu, mà không cần chuyển đổi.
Nói cách khác, một chuỗi hoặc
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
4 trả về giá trị sự thật đầu tiên hoặc cái cuối cùng nếu không tìm thấy giá trị sự thật.Ví dụ:
alert[ 1 || 0 ]; // 1 [1 is truthy]
alert[ null || 1 ]; // 1 [1 is the first truthy value]
alert[ null || 0 || 1 ]; // 1 [the first truthy value]
alert[ undefined || null || 0 ]; // 0 [all falsy, returns the last value]
Điều này dẫn đến một số cách sử dụng thú vị so với một người tinh khiết, cổ điển, chỉ có boolean hoặc chỉ có.
Nhận giá trị sự thật đầu tiên từ một danh sách các biến hoặc biểu thức.
Chẳng hạn, chúng tôi có các biến
5,alert[ 1 || 0 ]; // 1 [1 is truthy] alert[ null || 1 ]; // 1 [1 is the first truthy value] alert[ null || 0 || 1 ]; // 1 [the first truthy value] alert[ undefined || null || 0 ]; // 0 [all falsy, returns the last value]
6 vàalert[ 1 || 0 ]; // 1 [1 is truthy] alert[ null || 1 ]; // 1 [1 is the first truthy value] alert[ null || 0 || 1 ]; // 1 [the first truthy value] alert[ undefined || null || 0 ]; // 0 [all falsy, returns the last value]
7, tất cả các tùy chọn [nghĩa là có thể được xác định hoặc có các giá trị giả].alert[ 1 || 0 ]; // 1 [1 is truthy] alert[ null || 1 ]; // 1 [1 is the first truthy value] alert[ null || 0 || 1 ]; // 1 [the first truthy value] alert[ undefined || null || 0 ]; // 0 [all falsy, returns the last value]
Hãy để sử dụng hoặc
4 để chọn dữ liệu có dữ liệu và hiển thị nó [hoặclet hour = 12; let isWeekend = true; if [hour < 10 || hour > 18 || isWeekend] { alert[ 'The office is closed.' ]; // it is the weekend }
9 nếu không có gì được đặt]:alert[ 1 || 0 ]; // 1 [1 is truthy] alert[ null || 1 ]; // 1 [1 is the first truthy value] alert[ null || 0 || 1 ]; // 1 [the first truthy value] alert[ undefined || null || 0 ]; // 0 [all falsy, returns the last value]
let firstName = ""; let lastName = ""; let nickName = "SuperCoder"; alert[ firstName || lastName || nickName || "Anonymous"]; // SuperCoder
Nếu tất cả các biến là giả,
9 sẽ xuất hiện.alert[ 1 || 0 ]; // 1 [1 is truthy] alert[ null || 1 ]; // 1 [1 is the first truthy value] alert[ null || 0 || 1 ]; // 1 [the first truthy value] alert[ undefined || null || 0 ]; // 0 [all falsy, returns the last value]
Đánh giá ngắn mạch.
Một tính năng khác của toán tử hoặc
4 là cái gọi là đánh giá ngắn mạch.let hour = 12; let isWeekend = true; if [hour < 10 || hour > 18 || isWeekend] { alert[ 'The office is closed.' ]; // it is the weekend }
Điều đó có nghĩa là
4 xử lý các đối số của nó cho đến khi đạt được giá trị sự thật đầu tiên, và sau đó giá trị được trả về ngay lập tức, mà thậm chí không chạm vào đối số khác.let hour = 12; let isWeekend = true; if [hour < 10 || hour > 18 || isWeekend] { alert[ 'The office is closed.' ]; // it is the weekend }
Tầm quan trọng của tính năng này trở nên rõ ràng nếu một toán hạng không chỉ là một giá trị, mà là một biểu thức có tác dụng phụ, chẳng hạn như một gán biến hoặc một cuộc gọi chức năng.
Trong ví dụ dưới đây, chỉ có thông báo thứ hai được in:
true || alert["not printed"]; false || alert["printed"];
Trong dòng đầu tiên, nhà điều hành OR OR OR dừng đánh giá ngay khi nhìn thấy
0, do đó,let hour = 9; if [hour < 10 || hour > 18] { alert[ 'The office is closed.' ]; }
5 không phải là chạy.let firstName = ""; let lastName = ""; let nickName = "SuperCoder"; alert[ firstName || lastName || nickName || "Anonymous"]; // SuperCoder
Đôi khi, mọi người sử dụng tính năng này chỉ để thực thi các lệnh nếu điều kiện ở phần bên trái là giả.
&& [VÀ]
Toán tử và được đại diện với hai abersands
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5:Trong lập trình cổ điển và trả về
let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
0 nếu cả hai toán hạng là sự thật và let hour = 9;
if [hour < 10 || hour > 18] {
alert[ 'The office is closed.' ];
}
1 nếu không:alert[ true && true ]; // true
alert[ false && true ]; // false
alert[ true && false ]; // false
alert[ false && false ]; // false
Một ví dụ với
result = value1 || value2 || value3;
9:let hour = 12;
let minute = 30;
if [hour == 12 && minute == 30] {
alert[ 'The time is 12:30' ];
}
Giống như với hoặc, bất kỳ giá trị nào được cho phép như một toán hạng của và:
if [1 || 0] { // works just like if[ true || false ]
alert[ 'truthy!' ];
}
0Và "&&" Tìm thấy giá trị giả mạo đầu tiên
Đưa ra nhiều giá trị và giá trị:
if [1 || 0] { // works just like if[ true || false ]
alert[ 'truthy!' ];
}
1Toán tử và
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 thực hiện như sau:- Đánh giá các toán hạng từ trái sang phải.
- Đối với mỗi toán hạng, chuyển đổi nó thành boolean. Nếu kết quả là
0, hãy dừng và trả về giá trị ban đầu của toán hạng đó.let hour = 9; if [hour < 10 || hour > 18] { alert[ 'The office is closed.' ]; }
- Nếu tất cả các toán hạng đã được đánh giá [nghĩa là tất cả đều là
1], hãy trả về toán hạng cuối cùng.let hour = 9; if [hour < 10 || hour > 18] { alert[ 'The office is closed.' ]; }
Một giá trị được trả về ở dạng ban đầu, mà không cần chuyển đổi.
Nói cách khác, một chuỗi hoặc
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
4 trả về giá trị sự thật đầu tiên hoặc cái cuối cùng nếu không tìm thấy giá trị sự thật.Examples:
if [1 || 0] { // works just like if[ true || false ]
alert[ 'truthy!' ];
}
2Chúng tôi cũng có thể vượt qua một số giá trị liên tiếp. Xem cách mà Falsy đầu tiên được trả lại:
if [1 || 0] { // works just like if[ true || false ]
alert[ 'truthy!' ];
}
3Khi tất cả các giá trị là sự thật, giá trị cuối cùng được trả về:
if [1 || 0] { // works just like if[ true || false ]
alert[ 'truthy!' ];
}
4Ưu tiên và
5 cao hơn hoặc let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
4let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
Ưu tiên của toán tử và
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 cao hơn hoặc let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
4.
Vì vậy, mã
true || alert["not printed"];
false || alert["printed"];
6 về cơ bản giống như khi các biểu thức let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 nằm trong ngoặc đơn: true || alert["not printed"];
false || alert["printed"];
8.Don Tiết thay thế
9 bằng result = value1 || value2 || value3;
4 hoặc let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
Đôi khi, mọi người sử dụng toán tử và
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 như một "cách ngắn hơn để viết result = value1 || value2 || value3;
9".Ví dụ:
if [1 || 0] { // works just like if[ true || false ]
alert[ 'truthy!' ];
}
5Hành động ở phần bên phải của
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 sẽ chỉ thực hiện nếu đánh giá đạt đến nó. Đó là, chỉ khi alert[ true && true ]; // true
alert[ false && true ]; // false
alert[ true && false ]; // false
alert[ false && false ]; // false
5 là đúng.Vì vậy, về cơ bản chúng tôi có một chất tương tự cho:
if [1 || 0] { // works just like if[ true || false ]
alert[ 'truthy!' ];
}
6Mặc dù, biến thể với
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 xuất hiện ngắn hơn, result = value1 || value2 || value3;
9 rõ ràng hơn và có xu hướng dễ đọc hơn một chút. Vì vậy, chúng tôi khuyên bạn nên sử dụng mọi cấu trúc cho mục đích của nó: sử dụng result = value1 || value2 || value3;
9 nếu chúng tôi muốn result = value1 || value2 || value3;
9 và sử dụng let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 nếu chúng tôi muốn và.!! [KHÔNG PHẢI]
Toán tử không Boolean được đại diện với dấu hiệu cảm thán
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
6.Cú pháp khá đơn giản:
Người vận hành chấp nhận một đối số duy nhất và thực hiện như sau:
- Chuyển đổi toán hạng thành loại Boolean:
2.let hour = 12; let minute = 30; if [hour == 12 && minute == 30] { alert[ 'The time is 12:30' ]; }
- Trả về giá trị nghịch đảo.
Ví dụ:
if [1 || 0] { // works just like if[ true || false ]
alert[ 'truthy!' ];
}
7Hành động ở phần bên phải của
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 sẽ chỉ thực hiện nếu đánh giá đạt đến nó. Đó là, chỉ khi alert[ true && true ]; // true
alert[ false && true ]; // false
alert[ true && false ]; // false
alert[ false && false ]; // false
5 là đúng.Vì vậy, về cơ bản chúng tôi có một chất tương tự cho:
Mặc dù, biến thể với
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 xuất hiện ngắn hơn, result = value1 || value2 || value3;
9 rõ ràng hơn và có xu hướng dễ đọc hơn một chút. Vì vậy, chúng tôi khuyên bạn nên sử dụng mọi cấu trúc cho mục đích của nó: sử dụng result = value1 || value2 || value3;
9 nếu chúng tôi muốn result = value1 || value2 || value3;
9 và sử dụng let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
5 nếu chúng tôi muốn và.!! [KHÔNG PHẢI]
if [1 || 0] { // works just like if[ true || false ]
alert[ 'truthy!' ];
}
9Toán tử không Boolean được đại diện với dấu hiệu cảm thán
let hour = 12;
let isWeekend = true;
if [hour < 10 || hour > 18 || isWeekend] {
alert[ 'The office is closed.' ]; // it is the weekend
}
6.