Kiểm tra xem giá trị có đúng không JavaScript
Bảng sau đây tóm tắt các giá trị trả về có thể có của 8. Để biết thêm thông tin về các loại và nguyên hàm, hãy xem thêm trang cấu trúc dữ liệu JavaScript Show
3 (lý do)Boolean 4Number 5BigInt 6String 7Symbol 8Function (triển khai [[Call]] theo thuật ngữ ECMA-262; các lớp cũng là các hàm) 9Bất kỳ đối tượng nào khác 3Danh sách các giá trị này là đầy đủ. Không có công cụ tuân thủ thông số kỹ thuật nào được báo cáo để tạo ra (hoặc đã từng sản xuất) các giá trị khác với các giá trị được liệt kê. Internet Explorer cũ là trình duyệt duy nhất được biết là triển khai các giá trị trả về bổ sung, trước khi thông số kỹ thuật loại bỏ hành vi của 8 trả về các chuỗi do triển khai xác định cho các đối tượng kỳ lạ không theo tiêu chuẩn không thể gọi đượcví dụsử dụng cơ bản
loại null 0Trong lần triển khai JavaScript đầu tiên, các giá trị JavaScript được biểu diễn dưới dạng thẻ loại và giá trị. Thẻ loại cho các đối tượng là 02. 03 được biểu diễn dưới dạng con trỏ NULL ( 04 trong hầu hết các nền tảng). Do đó, 03 có 02 làm thẻ loại, do đó giá trị trả về của 8 là 3. (thẩm quyền giải quyết)Một bản sửa lỗi đã được đề xuất cho ECMAScript (thông qua tùy chọn tham gia), nhưng đã bị từ chối. Nó sẽ dẫn đến 09Sử dụng toán tử mớiTất cả các hàm xây dựng được gọi với 80 sẽ trả về các giá trị không nguyên thủy ( 3 hoặc 9). Hầu hết các đối tượng trả về, với ngoại lệ đáng chú ý là 83, trả về một hàm 8Cần dấu ngoặc đơn trong cú phápToán tử 8 có độ ưu tiên cao hơn toán tử nhị phân như phép cộng ( 85). Do đó, dấu ngoặc đơn là cần thiết để đánh giá loại kết quả cộng 4Tương tác với các biến chưa được khai báo và chưa được khởi tạo 8 thường luôn được đảm bảo trả về một chuỗi cho bất kỳ toán hạng nào mà nó được cung cấp. Ngay cả với số nhận dạng không được khai báo, 8 sẽ trả về 2 thay vì đưa ra lỗi 6Tuy nhiên, sử dụng 8 trên các khai báo từ vựng ( 40 41 và 42) trong cùng một khối trước dòng khai báo sẽ tạo ra một 43. Các biến trong phạm vi khối nằm trong vùng chết tạm thời từ khi bắt đầu khối cho đến khi quá trình khởi tạo được xử lý, trong thời gian đó, nó sẽ báo lỗi nếu được truy cập 1Hành vi đặc biệt của tài liệu. tất cả cácTất cả các trình duyệt hiện tại hiển thị một đối tượng máy chủ không chuẩn 44 với loại 45 4Mặc dù 44 cũng là giả và tương đương với 45, nhưng nó không phải là 45. Trường hợp của 44 có kiểu 2 được phân loại trong tiêu chuẩn web là "cố ý vi phạm" tiêu chuẩn ECMAScript ban đầu về khả năng tương thích webPhương thức tùy chỉnh có loại cụ thể hơn 8 rất hữu ích, nhưng nó không linh hoạt như yêu cầu. Ví dụ: 62 là 3, cũng như 64, 65, v.v.Để có tính cụ thể hơn trong việc kiểm tra các loại, ở đây chúng tôi trình bày một hàm 66 tùy chỉnh, phần lớn bắt chước hành vi của 8, nhưng đối với các loại không nguyên thủy (i. e. đối tượng và hàm), nó trả về một tên loại chi tiết hơn nếu có thể 5Để kiểm tra các biến có khả năng không tồn tại mà nếu không sẽ tạo ra một 43, hãy sử dụng 69 vì không thể bắt chước hành vi này bằng mã tùy chỉnh
Làm cách nào để kiểm tra xem điều gì đó có đúng trong JavaScript không?Sử dụng toán tử đẳng thức nghiêm ngặt (===) để kiểm tra xem một biến có bằng true hay không - myVar === true. Toán tử đẳng thức nghiêm ngặt sẽ trả về true nếu biến bằng true, nếu không nó sẽ trả về false. Đã sao chép.
Có đúng == đúng trong JavaScript không?== và === có giống nhau trong JavaScript không?JavaScript cung cấp ba thao tác so sánh giá trị khác nhau. === — đẳng thức nghiêm ngặt (ba bằng) == — đẳng thức lỏng lẻo (bằng kép)
Là sai === 0 trong JS?Trong JavaScript “0” bằng false vì “0” thuộc loại chuỗi nhưng khi kiểm tra tính bằng nhau, chuyển đổi loại tự động . Vì vậy, "0" bằng sai. |