Không xác định == false trong javascript?
Với câu trả lời ban đầu chỉ ra thông số kỹ thuật đã bị xóa, tôi muốn cung cấp một liên kết và đoạn trích ngắn từ thông số kỹ thuật tại đây Show Tài liệu đặc tả ECMA liệt kê lý do mà The comparison x == y, where x and y are values, produces true or false.1 trả về false. Mặc dù nó không nói trực tiếp tại sao lại như vậy, nhưng phần quan trọng nhất để trả lời câu hỏi này nằm ở câu này The comparison x == y, where x and y are values, produces true or false. Nếu chúng ta tra cứu định nghĩa cho null, chúng ta sẽ tìm thấy một cái gì đó như thế này NULL or nil means "no value" or "not applicable". Trong Javascript, The comparison x == y, where x and y are values, produces true or false.2 được xử lý theo cách tương tự. Nó không có bất kỳ giá trị. Tuy nhiên, false có một giá trị. Nó đang nói với chúng ta rằng có điều gì đó không phải như vậy. Trong khi đó, The comparison x == y, where x and y are values, produces true or false.2 và The comparison x == y, where x and y are values, produces true or false.1 không được cho là mang lại bất kỳ giá trị nào cho chúng tôi. Tương tự như vậy, không có gì nó có thể chuyển đổi thành để so sánh đẳng thức trừu tượng của nó, do đó kết quả sẽ luôn sai. Đó cũng là lý do tại sao The comparison x == y, where x and y are values, produces true or false.2 trả về true (Cả hai đều không có bất kỳ giá trị nào). Cần lưu ý rằng mặc dù vậy, The comparison x == y, where x and y are values, produces true or false.3 trả về false do các kiểu khác nhau của chúng. (Sử dụng The comparison x == y, where x and y are values, produces true or false.4 và The comparison x == y, where x and y are values, produces true or false.5 trong bảng điều khiển để kiểm tra) Tuy nhiên, điều tôi tò mò là việc so sánh The comparison x == y, where x and y are values, produces true or false.6 với bất kỳ thứ gì sẽ luôn trả về false. Ngay cả khi so sánh nó với chính nó. [ The comparison x == y, where x and y are values, produces true or false.7 trả về sai] Ngoài ra, một thông tin kỳ lạ khác. [ The comparison x == y, where x and y are values, produces true or false.8 trả về "số"] bình đẳng nghiêm ngặtNếu có thể, bạn nên tránh sử dụng toán tử == để so sánh hai giá trị. Thay vào đó, hãy sử dụng === để thực sự xem liệu hai giá trị có bằng nhau không. == tạo ra ảo tưởng rằng hai giá trị thực sự bằng nhau khi chúng có thể không bằng cách sử dụng cưỡng chế. ví dụ The comparison x == y, where x and y are values, produces true or false.9 là sự thật NULL or nil means "no value" or "not applicable".0 là sai NULL or nil means "no value" or "not applicable".1 là sự thật NULL or nil means "no value" or "not applicable".2 là sai NULL or nil means "no value" or "not applicable".3 là sự thật NULL or nil means "no value" or "not applicable".4 là sai Giải pháp liên quanJavascript – Cách chuyển đổi chuỗi thành boolean trong JavaScriptLàm. NULL or nil means "no value" or "not applicable".6 sử dụng toán tử nhận dạng ( NULL or nil means "no value" or "not applicable".5), không thực hiện bất kỳ chuyển đổi loại ẩn nào khi các biến được so sánh có các loại khác nhau ĐừngCó lẽ bạn nên thận trọng khi sử dụng hai phương pháp này cho các nhu cầu cụ thể của mình NULL or nil means "no value" or "not applicable".8 Bất kỳ chuỗi nào không phải là chuỗi rỗng sẽ đánh giá thành NULL or nil means "no value" or "not applicable".6 bằng cách sử dụng chúng. Mặc dù chúng là những phương pháp rõ ràng nhất mà tôi có thể nghĩ đến liên quan đến chuyển đổi boolean, nhưng tôi nghĩ chúng không phải là thứ bạn đang tìm kiếm Javascript – Nên sử dụng toán tử bằng nào (== so với ===) trong so sánh JavaScriptToán tử đẳng thức nghiêm ngặt ( NULL or nil means "no value" or "not applicable".5) hoạt động giống hệt với toán tử đẳng thức trừu tượng ( NULL or nil means "no value" or "not applicable".8) ngoại trừ không có chuyển đổi loại nào được thực hiện và các loại phải giống nhau để được coi là bằng nhau Thẩm quyền giải quyết. Hướng dẫn Javascript. Toán tử so sánh Toán tử NULL or nil means "no value" or "not applicable".8 sẽ so sánh sự bằng nhau sau khi thực hiện bất kỳ chuyển đổi loại cần thiết nào. Toán tử NULL or nil means "no value" or "not applicable".5 sẽ không thực hiện chuyển đổi, vì vậy nếu hai giá trị không cùng loại thì NULL or nil means "no value" or "not applicable".5 sẽ chỉ trả về NULL or nil means "no value" or "not applicable".62. Cả hai đều nhanh như nhau Để trích dẫn JavaScript xuất sắc của Douglas Crockford. Các bộ phận tốt,
Cập nhậtMột điểm hay đã được @Casebash đưa ra trong các nhận xét và trong câu trả lời của @Phillipe Laybaert liên quan đến các đối tượng. Đối với các đối tượng, NULL or nil means "no value" or "not applicable".8 và NULL or nil means "no value" or "not applicable".5 hành động nhất quán với nhau (trừ trường hợp đặc biệt) The comparison x == y, where x and y are values, produces true or false.1 Trường hợp đặc biệt là khi bạn so sánh một nguyên thủy với một đối tượng đánh giá cùng một nguyên thủy, do phương pháp NULL or nil means "no value" or "not applicable".87 hoặc NULL or nil means "no value" or "not applicable".88 của nó. Ví dụ: hãy xem xét việc so sánh một chuỗi nguyên thủy với một đối tượng chuỗi được tạo bằng cách sử dụng hàm tạo NULL or nil means "no value" or "not applicable".89 The comparison x == y, where x and y are values, produces true or false.5 Ở đây, toán tử NULL or nil means "no value" or "not applicable".8 đang kiểm tra giá trị của hai đối tượng và trả về NULL or nil means "no value" or "not applicable".6, nhưng NULL or nil means "no value" or "not applicable".5 thấy rằng chúng không cùng loại và trả về NULL or nil means "no value" or "not applicable".62. Cái nào đúng? . Lời khuyên của tôi là bỏ qua câu hỏi hoàn toàn và không sử dụng hàm tạo NULL or nil means "no value" or "not applicable".89 để tạo đối tượng chuỗi từ chuỗi ký tự Không xác định == JavaScript không xác định?Trả lời. Sử dụng toán tử đẳng thức ( == )
. Do đó, nếu bạn cố gắng hiển thị giá trị của biến đó, từ "không xác định" sẽ được hiển thị. if a variable has been declared, but has not been assigned a value, is automatically assigned the value undefined . Therefore, if you try to display the value of such variable, the word "undefined" will be displayed.
null == không xác định có đúng không?null == undefined đánh giá là đúng vì chúng gần như bằng nhau . null === undefined đánh giá là sai vì trên thực tế, chúng không bằng nhau.
Không xác định === có đúng không?undefined là đúng bởi vì undefined chuyển đổi hoàn toàn thành false và sau đó. phủ nhận nó. Nói chung, những giá trị đó (và false ) được gọi là giá trị giả. Mọi thứ khác¹ được gọi là giá trị trung thực.
Không xác định === null JS?Có nghĩa là null bằng với không xác định nhưng không giống nhau . Khi chúng tôi định nghĩa một biến thành không xác định thì chúng tôi đang cố truyền đạt rằng biến đó không tồn tại. Khi chúng tôi định nghĩa một biến thành null thì chúng tôi đang cố truyền đạt rằng biến đó trống. |