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

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ặt

Nế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 quan

Javascript – Cách chuyển đổi chuỗi thành boolean trong JavaScript

Là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

Đừng

Có 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 JavaScript

Toá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,

JavaScript có hai bộ toán tử đẳng thức.

NULL or nil means "no value" or "not applicable".
5 và
NULL or nil means "no value" or "not applicable".
64, và cặp song sinh độc ác của họ
NULL or nil means "no value" or "not applicable".
8 và
NULL or nil means "no value" or "not applicable".
66. Những cái tốt hoạt động theo cách bạn mong đợi. Nếu hai toán hạng cùng loại và có cùng giá trị, thì
NULL or nil means "no value" or "not applicable".
5 tạo ra
NULL or nil means "no value" or "not applicable".
6 và
NULL or nil means "no value" or "not applicable".
64 tạo ra
NULL or nil means "no value" or "not applicable".
62. Cặp song sinh độc ác làm điều đúng khi toán hạng cùng loại, nhưng nếu chúng thuộc loại khác nhau, chúng sẽ cố gắng ép buộc các giá trị. các quy tắc mà họ làm điều đó rất phức tạp và không thể nhớ được. Đây là một số trường hợp thú vị

The comparison x == y, where x and y are values, produces true or false.
4

Thiếu tính chuyển tiếp là đáng báo động. Lời khuyên của tôi là đừng bao giờ sử dụng cặp song sinh độc ác. Thay vào đó, hãy luôn sử dụng

NULL or nil means "no value" or "not applicable".
5 và
NULL or nil means "no value" or "not applicable".
64. Tất cả các so sánh vừa hiển thị tạo ra
NULL or nil means "no value" or "not applicable".
62 với toán tử
NULL or nil means "no value" or "not applicable".
5

Cập nhật

Mộ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.

Chủ Đề