• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Javascript - Sự khác nhau giữa toán tử ‘==’ và ‘===’

Admin

Well-Known Member
Staff member
Administrator
Hai toán tử này dễ bị nhầm lẫn dẫn đến việc gây lỗi chương trình nếu như người lập trình javascript không nắm rõ chúng. Điểm khác nhau giữa hai toán tử này là gì?

Toán tử “==”: so sánh bằng một cách gượng ép và trả về true nếu giá trị của chúng khớp nhau mà không cần phải cùng kiểu dữ liệu. Ví dụ:

HTML:
var a = "5";
var b = 5;
if(a == b){
// Do something
}

“a == b” như trên sẽ trả về true, do đó block code trong biểu thức điều kiện if sẽ được thực thi. Ngoài ra chúng ta có thể đoán ra được nếu “a = 5″, “b = 6″ thì “a == b” sẽ trả về false bởi chúng không cùng giá trị.

Toán tử “===”: tạm gọi là so sánh bằng tuyệt đối, nghĩa là toán tử này không chỉ so sánh các giá trị có bằng nhau hay không mà còn so sánh cả luôn kiểu dữ liệu của biến. Nếu không thỏa mãn cả 2 điều kiện trên thì chắc chắn kết quả trả về là false. Ví dụ:

HTML:
var a = "5";
var b = 5;
if(a === b){
// Do something
}

Với đoạn code trên, “a == b” chắc chắn sẽ trả về false vì chúng không cùng kiểu dữ liệu ( biến a kiểu string, biến b kiểu number) mặc dù giá trị của chúng bằng nhau.
Ngoài ra còn các trường hợp tương tự bạn có thể tự đoán ra được hoặc code thử để nhận ra kết quả.

Lưu ý: Trong javascript, toán tử “==” được ví như là ác quỷ và “===” như 1 thiên thần. Dĩ nhiên chúng ta phải chọn chơi chung với thiên thần rồi đúng không?

Hy vọng bài viết sẽ giúp ích phần nào cho việc phân biệt hai toán tử trên.

 

Facebook Comments

New posts New threads New resources

Back
Top