Cách thích hợp để so sánh nếu hai giá trị bằng nhau trong biểu thức boolean trong javascript là gì?
Trong bài viết này, chúng ta sẽ tìm hiểu thêm về các loại so sánh khác nhau, cách JavaScript tạo ra chúng, bao gồm các đặc điểm quan trọng Show
Cuối cùng, bạn sẽ tìm thấy một công thức hay để tránh các vấn đề liên quan đến “JavaScript quirks” Tất cả các toán tử so sánh trả về một giá trị boolean
Ví dụ
Một kết quả so sánh có thể được gán cho một biến, giống như bất kỳ giá trị nào
Để xem liệu một chuỗi có lớn hơn chuỗi khác hay không, JavaScript sử dụng cái gọi là thứ tự "từ điển" hoặc "từ điển" Nói cách khác, các chuỗi được so sánh từng chữ cái Ví dụ
Thuật toán so sánh hai chuỗi đơn giản
Trong ví dụ đầu tiên ở trên, so sánh 4 có kết quả ở bước đầu tiênPhép so sánh thứ hai 5 và 6 cần nhiều bước hơn vì các chuỗi được so sánh theo từng ký tự
Không phải là một từ điển thực sự, nhưng theo thứ tự Unicode Thuật toán so sánh được đưa ra ở trên gần tương đương với thuật toán được sử dụng trong từ điển hoặc danh bạ điện thoại, nhưng nó không hoàn toàn giống nhau Ví dụ, trường hợp quan trọng. Chữ hoa 23 không bằng chữ thường 24. Cái nào lớn hơn? . Tại sao? . Chúng ta sẽ quay lại chi tiết cụ thể và hậu quả của điều này trong chương ChuỗiKhi so sánh các giá trị của các loại khác nhau, JavaScript sẽ chuyển đổi các giá trị thành số Ví dụ 2Đối với các giá trị boolean, 2 trở thành 27 và 3 trở thành 29Ví dụ 2Một hậu quả buồn cười Có thể là cùng một lúc
Ví dụ 5Từ quan điểm của JavaScript, kết quả này là khá bình thường. Kiểm tra đẳng thức chuyển đổi các giá trị bằng cách sử dụng chuyển đổi số (do đó, 22 trở thành 29), trong khi chuyển đổi rõ ràng 24 sử dụng một bộ quy tắc khácKiểm tra bình đẳng thường xuyên 8 có vấn đề. Nó không thể phân biệt 29 với 3 2Điều tương tự cũng xảy ra với một chuỗi rỗng 3Điều này xảy ra vì các toán hạng thuộc các loại khác nhau được chuyển đổi thành số bởi toán tử đẳng thức 8. Một chuỗi rỗng, giống như 3, trở thành số khôngPhải làm gì nếu chúng tôi muốn phân biệt 29 với 3?Toán tử đẳng thức nghiêm ngặt 52 kiểm tra đẳng thức mà không cần chuyển đổi kiểuNói cách khác, nếu 53 và 54 thuộc các loại khác nhau, thì 55 ngay lập tức trả về 3 mà không cần chuyển đổi chúngHãy thử nó 3Ngoài ra còn có một toán tử "không bình đẳng nghiêm ngặt" 57 tương tự như 58Toán tử đẳng thức nghiêm ngặt dài hơn một chút để viết, nhưng làm cho nó rõ ràng những gì đang xảy ra và để lại ít lỗi hơn Có một hành vi không trực quan khi 59 hoặc 20 được so sánh với các giá trị khácĐể kiểm tra bình đẳng nghiêm ngặt 52Các giá trị này khác nhau, bởi vì mỗi giá trị là một loại khác nhau 9Để kiểm tra không nghiêm ngặt 8Có một quy tắc đặc biệt. Hai người này là một “cặp đôi ngọt ngào”. chúng bằng nhau (theo nghĩa của 8), nhưng không phải bất kỳ giá trị nào khác 0Đối với toán học và so sánh khác 24 25 được chuyển thành số. 59 trở thành 29, trong khi 20 trở thành 29Bây giờ hãy xem một số điều thú vị xảy ra khi chúng ta áp dụng các quy tắc này. Và, điều quan trọng hơn, làm thế nào để không rơi vào bẫy của họ Hãy so sánh 59 với số không 1Về mặt toán học, điều đó thật kỳ lạ. Kết quả cuối cùng cho biết " 59 lớn hơn hoặc bằng 0", vì vậy một trong các so sánh ở trên phải là 2, nhưng cả hai đều saiLý do là kiểm tra đẳng thức 8 và so sánh 34 hoạt động khác nhau. Phép so sánh chuyển đổi 59 thành một số, coi nó là 29. Đó là lý do tại sao (3) 37 là đúng và (1) 38 là saiMặt khác, kiểm tra đẳng thức 8 cho 20 và 59 được xác định sao cho, không có bất kỳ chuyển đổi nào, chúng bằng nhau và không bằng bất kỳ thứ gì khác. Đó là lý do tại sao (2) 32 là saiKhông nên so sánh giá trị 20 với các giá trị khác 2Tại sao nó không thích số không nhiều như vậy? Chúng tôi nhận được những kết quả này bởi vì
Tại sao chúng ta đi qua những ví dụ này? . Trên thực tế, những điều phức tạp này sẽ dần trở nên quen thuộc theo thời gian, nhưng có một cách chắc chắn để tránh các vấn đề với chúng Cách thích hợp để so sánh nếu hai giá trị bằng nhau trong biểu thức Boolean là gì?Các toán tử đẳng thức ==,. =
. Toán tử không bằng nhau,. = , ngược lại, đánh giá là đúng nếu các giá trị khác nhau.
Cách thích hợp để so sánh nếu hai giá trị không bằng nhau trong biểu thức Boolean trong JavaScript là gì?Toán tử JavaScript không bằng hoặc bất đẳng thức (. =) kiểm tra xem hai giá trị có bằng nhau hay không và trả về giá trị boolean. Toán tử này cố gắng so sánh các giá trị bất kể chúng có thuộc các loại khác nhau hay không. Tuy nhiên, “. ==
Cách thích hợp để so sánh nếu hai giá trị bằng nhau trong biểu thức Boolean trong Python là gì?Toán tử so sánh Boolean
. g. biểu thức so sánh num == 6 đánh giá là Đúng khi num là 6 và Sai nếu không. Toán tử so sánh. == kiểm tra xem hai giá trị có bằng nhau không (2 dấu bằng cùng nhau) .
Làm cách nào để kiểm tra xem hai số có bằng nhau trong JavaScript không?Xóa đẳng thức bằng cách sử dụng == . Vật. chỉ trả về true nếu cả hai toán hạng tham chiếu cùng một đối tượng Chuỗi. chỉ trả về true nếu cả hai toán hạng có cùng ký tự theo cùng một thứ tự Con số. chỉ trả về true nếu cả hai toán hạng có cùng giá trị. . Boolean. chỉ trả về true nếu toán hạng vừa đúng hoặc vừa sai |