Bạn có nên luôn sử dụng ba bằng JavaScript không?
Dấu ba bằng trong JavaScript có nghĩa là “bình đẳng không ép buộc kiểu”. Điều đó có nghĩa là, cả loại và giá trị phải bằng nhau Show
Lấy ví dụ kịch bản trong đó 0 là sai So sánh 2 dấu bằng nhau thì mệnh đề sau đúng. Điều này là do toán tử đẳng thức chuyển đổi nếu chúng không cùng loại 0 == false // true Nếu chúng ta so sánh 0 và false với ===, chúng ta sẽ trả về false. Vì 0 và false là các loại khác nhau nên chúng không bằng nhau trong trường hợp này. Các toán tử đẳng thức nghiêm ngặt thực hiện so sánh đẳng thức trên các toán hạng cùng loại 0 === false // false Bạn có thể đọc thêm về toán tử so sánh tại Mozilla. https. // nhà phát triển. mozilla. org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators. Các toán tử bình đẳng nghiêm ngặt sử dụng
CẢM ƠN VÌ ĐÃ ĐỌC. TRƯỚC KHI BẠN RỜI, TÔI CẦN SỰ GIÚP ĐỠ CỦA BẠN TÔI ĐANG DÀNH NHIỀU THỜI GIAN TRONG NHỮNG NGÀY NAY ĐỂ TẠO CÁC VIDEO YOUTUBE ĐỂ GIÚP MỌI NGƯỜI TÌM HIỂU NỀN TẢNG MICROSOFT POWER NẾU BẠN MUỐN XEM CÁCH TÔI XÂY DỰNG ỨNG DỤNG HOẶC TÌM THỨ GÌ HỮU ÍCH KHI ĐỌC BLOG CỦA TÔI, TÔI THỰC SỰ CẢM ƠN BẠN ĐÃ ĐĂNG KÝ KÊNH YOUTUBE CỦA TÔI CẢM ƠN VÀ HÃY CÙNG HỌC HỎI NHÉ https. //www. youtube. com/carldesouza
GIỚI THIỆU VỀ CARL DE SOUZA Carl de Souza là nhà phát triển và kiến trúc sư tập trung vào Microsoft Dynamics 365, Power BI, Azure và AI Trong ví dụ trên, cả hai toán tử đều trả về cùng một câu trả lời i. e. 4. Vậy sự khác biệt là gì?Sự khác biệt giữa var one = 1; var one_again = 1; var one_string = "1"; // note: this is string console.log(one == one_again); // true console.log(one === one_again); // true console.log(one == one_string); // true. See below for explanation. console.log(one === one_string); // false. See below for explanation. 5 và var one = 1; var one_again = 1; var one_string = "1"; // note: this is string console.log(one == one_again); // true console.log(one === one_again); // true console.log(one == one_string); // true. See below for explanation. console.log(one === one_string); // false. See below for explanation. 0Sự khác biệt giữa 5 và 0 là
Hãy xem một ví dụ khác
var one = 1; var one_again = 1; var one_string = "1"; // note: this is string console.log(one == one_again); // true console.log(one === one_again); // true console.log(one == one_string); // true. See below for explanation. console.log(one === one_string); // false. See below for explanation. 0 có nhanh hơn var one = 1; var one_again = 1; var one_string = "1"; // note: this is string console.log(one == one_again); // true console.log(one === one_again); // true console.log(one == one_string); // true. See below for explanation. console.log(one === one_string); // false. See below for explanation. 5 không?Về lý thuyết, khi so sánh các biến có cùng loại, hiệu suất của cả hai toán tử phải giống nhau vì chúng sử dụng cùng một thuật toán. Khi các loại khác nhau, toán tử ba bằng ( 0) sẽ hoạt động tốt hơn gấp đôi bằng ( 5) vì nó không phải thực hiện thêm bước ép buộc kiểu. Nhưng phải không?
Nếu bạn nhìn vào biểu đồ ở cuối bài kiểm tra, bạn sẽ thấy hiệu suất khác nhau giữa các triển khai trình duyệt khác nhau và mức tăng hiệu suất hầu như không đáng kể Nhưng nếu bạn nghĩ về nó, hiệu suất hoàn toàn không liên quan và không nên đóng vai trò quyết định khi nào sử dụng toán tử này thay vì toán tử kia. Hoặc bạn cần kiểu ép buộc hoặc bạn không. Nếu bạn không cần nó, đừng sử dụng toán tử bằng kép ( 5) vì bạn có thể nhận được kết quả không mong muốn. Hầu hết những kẻ nói dối sẽ phàn nàn nếu bạn sử dụng 5. Để tiếp tục khiến bạn sợ hãi khỏi 5. nó khá khó hiểu và có những quy tắc kỳ lạ. Ví dụ: 0 === false // false61 hoặc 0 === false // false62 sẽ trả về 4. Để biết thêm các đặc thù, hãy xem Bảng bình đẳng JavascriptNói tóm lại, hãy luôn sử dụng 0 ở mọi nơi trừ khi bạn cần ép buộc kiểu (trong trường hợp đó, hãy sử dụng 5. )Toán tử bất đẳng thức. 0 === false // false66 và 0 === false // false67 5 và 0 có các đối tác của chúng khi kiểm tra sự bất bình đẳng
0 === false // false2 Toán tử và đối tượng bình đẳng (và các loại tham chiếu khác)Cho đến nay, chúng ta đã khám phá các toán tử đẳng thức hoặc bất đẳng thức bằng cách sử dụng các kiểu nguyên thủy. Còn các loại tham chiếu như Mảng hoặc Đối tượng thì sao. Nếu chúng ta tạo hai mảng có nội dung giống hệt nhau, liệu chúng ta có thể so sánh chúng bằng cách sử dụng toán tử đẳng thức giống như cách chúng ta làm đối với nguyên hàm không? . Hãy xem xét một ví dụ 0 === false // false6 Ở đây, cả 5 và 0 đều trả về cùng một câu trả lời. 74. Điều đang xảy ra ở đây là cả 75 và 76 đều trỏ đến các đối tượng khác nhau trong bộ nhớ. Mặc dù nội dung mảng giống nhau, nhưng về cơ bản chúng có các giá trị khác nhau. Áp dụng tương tự cho các đối tượng và các loại tham chiếu khácECMAScript 6. Vật. Là()Tôi đã nói ở đầu bài viết là một số tùy chọn để kiểm tra tính bằng nhau trong Javascript. Điều đó không còn đúng nữa. ECMAScript 6 đã giới thiệu một phương pháp thứ ba để so sánh các giá trị
Toán tử ba bằng ( 0) là cách được đề xuất để so sánh giá trị, nhưng nó không hoàn hảo. Đây là một vài ví dụ mà hành vi của nó gây nhầm lẫn 7Để so sánh bớt khó hiểu hơn, đã giới thiệu một phương pháp mới. Vật. Là(). Nó nhận hai đối số và trả về 4 nếu cả giá trị và kiểu đều bằng nhau. Về cơ bản, nó giống với toán tử 0, nhưng không có những điểm kỳ quặc. Hãy xem xét một số ví dụ
Tôi có nên luôn sử dụng === trong JavaScript không?Lời khuyên dành cho những người mới bắt đầu sử dụng JavaScript là hãy quên hoàn toàn == và luôn sử dụng ===. Hóa ra quy tắc đó luôn đúng .
Tôi có nên sử dụng gấp đôi hoặc gấp ba bằng JavaScript không?Dấu bằng kép ( == ) chỉ kiểm tra giá trị bằng nhau . Nó vốn đã ép buộc kiểu. Nghĩa là trước khi kiểm tra giá trị nó sẽ chuyển đổi kiểu của các biến sao cho khớp với nhau. Mặt khác, Triple Equals ( === ) không thực hiện ép kiểu.
Tôi có nên sử dụng == hoặc === trong TypeScript không?Sử dụng === ở mọi nơi bạn muốn trong JavaScript . Điều này có lợi thế là tránh được những cạm bẫy phổ biến đối với == và không yêu cầu bạn phải duy trì một phương thức bổ sung. Đầu ra của trình biên dịch TypeScript sẽ gần với JavaScript thành ngữ.
Tại sao bạn lại sử dụng === thay vì ==?== Toán tử. Toán tử này được sử dụng để kiểm tra các giá trị đã cho có bằng nhau hay không . Nếu đúng thì trả về true, ngược lại trả về false. === Nhà điều hành. Toán tử này dùng để kiểm tra các giá trị đã cho và kiểu dữ liệu của nó có bằng nhau hay không. Nếu đúng thì trả về true, ngược lại trả về false. |