Hướng dẫn why does javascript use 3 equal signs? - tại sao javascript sử dụng 3 dấu bằng?

49

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Có thể trùng lặp: JavaScript === vs ==: Có vấn đề gì với toán tử mà tôi sử dụng không?
JavaScript === vs == : Does it matter which “equal” operator I use?

Tôi đã hỏi một câu hỏi khác ở đây và nhận được một câu trả lời tuyệt vời như sau:

$(document).on("keydown", function (e) {
  if (e.which === 8 && !$(e.target).is("input, textarea") || $(e.target).is('[readonly]')) {
      e.preventDefault();
  }
}); 

Lưu ý ba dấu hiệu bằng nhau === trong if-statement. Tôi đã luôn nghĩ rằng bạn chỉ cần hai dấu hiệu bằng nhau == cho JavaScript/jQuery if-statement. Có lý do nào cho ba người không?

CẬP NHẬT

Xin lỗi vì câu hỏi trùng lặp - Tôi đã tìm kiếm nhưng không tìm thấy bất kỳ câu hỏi hay nào. Tôi đoán tôi đã sử dụng các thuật ngữ tìm kiếm sai.

Hướng dẫn why does javascript use 3 equal signs? - tại sao javascript sử dụng 3 dấu bằng?

Đã hỏi ngày 27 tháng 6 năm 2012 lúc 20:45Jun 27, 2012 at 20:45

3

Dấu ba bằng nhau trong JavaScript có nghĩa là bình đẳng mà không bị ép buộc loại.

Ví dụ:

1=="1"     // true, automatic type coercion
1==="1"    // false, not the same type.

Hướng dẫn why does javascript use 3 equal signs? - tại sao javascript sử dụng 3 dấu bằng?

Đã trả lời ngày 27 tháng 6 năm 2012 lúc 20:48Jun 27, 2012 at 20:48

JeshurunjeshurunJeshurun

22,5k6 Huy hiệu vàng80 Huy hiệu bạc90 Huy hiệu Đồng6 gold badges80 silver badges90 bronze badges

2

Ba dấu hiệu bằng nhau cho biết cả giá trị và loại đều bằng nhau.

Đã trả lời ngày 27 tháng 6 năm 2012 lúc 20:47Jun 27, 2012 at 20:47

JustinjustinJustin

6.1839 Huy hiệu vàng46 Huy hiệu bạc70 Huy hiệu Đồng9 gold badges46 silver badges70 bronze badges

1

= Trong javascript là gì?

Bằng (=) là toán tử gán, đặt biến ở bên trái của = với giá trị của biểu thức ở bên phải của nó. Nhà điều hành này chỉ định Lvalue cho Rvalue.

Ví dụ, viết a = 10 là tốt. Nếu chúng ta viết 10 = 10, ‘A, = 10 hoặc‘ A, = ’a, nó sẽ dẫn đến lỗi tham chiếu.

Trong hướng dẫn này, bạn sẽ học:

  • = Trong javascript là gì?
  • == trong JavaScript là gì?
  • === trong JavaScript là gì?
  • Tại sao sử dụng = trong JavaScript?
  • Tại sao sử dụng == trong JavaScript?
  • Làm thế nào === hoạt động chính xác?
  • Ví dụ về =
  • Ví dụ về ==
  • Ví dụ về ===
  • = Vs == vs === trong JavaScript

== trong JavaScript là gì?

Double bằng (==) là một toán tử so sánh, biến đổi các toán hạng có cùng loại trước khi so sánh.

Vì vậy, khi bạn so sánh chuỗi với một số, JavaScript chuyển đổi bất kỳ chuỗi nào thành một số. Một chuỗi trống luôn được chuyển đổi thành 0. Một chuỗi không có giá trị số được chuyển đổi thành NAN (không phải là số), trả về sai.

=== trong JavaScript là gì?

=== (Triple Equals) là một toán tử so sánh bình đẳng nghiêm ngặt trong JavaScript, trả về sai cho các giá trị không thuộc loại tương tự. Toán tử này thực hiện đúc loại cho bình đẳng. Nếu chúng ta so sánh 2 với 2 2, sử dụng ===, thì nó sẽ trả về một giá trị sai.

Tại sao sử dụng = trong JavaScript?

Dưới đây là cách sử dụng quan trọng của = trong javascript:

= Toán tử JavaScript gán một giá trị cho toán hạng bên trái phụ thuộc vào giá trị của toán hạng có sẵn ở phía bên phải. Toán tử đầu tiên phải là một biến.

Toán tử gán cơ bản là =, gán giá trị của một toán hạng này cho một toán hạng khác. Nghĩa là, a = b gán giá trị của b cho a.

Tại sao sử dụng == trong JavaScript?

Dưới đây là cách sử dụng quan trọng của == trong javascript:

Toán tử == là một toán tử bình đẳng. Nó kiểm tra xem hai toán hạng của nó có giống nhau hay không bằng cách thay đổi biểu thức từ một loại dữ liệu sang loại dữ liệu khác. Bạn có thể sử dụng toán tử == để so sánh danh tính của hai toán hạng mặc dù, chúng không thuộc loại tương tự.

Làm thế nào === hoạt động chính xác?

  • Bình đẳng nghiêm ngặt === Kiểm tra xem hai giá trị có giống nhau hay không.
  • Giá trị không được chuyển đổi hoàn toàn thành một số giá trị khác trước khi so sánh.
  • Nếu các giá trị biến là các loại khác nhau, thì các giá trị được coi là không đồng đều.
  • Nếu biến có cùng loại, không phải là số và có cùng giá trị, chúng được coi là bằng nhau.
  • Cuối cùng, nếu cả hai giá trị biến là số, chúng được coi là bằng nhau nếu cả hai không phải là NAN (không phải là số) và là cùng một giá trị.

Ví dụ về =

Trong chương trình dưới đây, có hai biến số của A A và B B B.. Chúng tôi đang thêm và in các giá trị của chúng bằng cách sử dụng biến thứ ba, C C C. Tổng giá trị của biến số A A và và B Bi là 7. Do đó, đầu ra là 7.





JavaScript Operators

a = 2, b = 5, calculate c = a + b, and display c:

Output:

a = 2, b = 5, tính toán c = a + b và hiển thị c:

7

Ví dụ về ==

Trong chương trình dưới đây, chúng tôi đã tuyên bố một biến có thể có giá trị 10. Cuối cùng, câu lệnh A == 20 trả về sai là giá trị của A là 10.





Output:

false

Ví dụ về ===

Trong chương trình dưới đây, giá trị của biến X là 10. Nó được so sánh với 10 được viết bằng các trích dẫn kép, được coi là một chuỗi, và do đó, các giá trị không hoàn toàn giống nhau. Đầu ra của chương trình là sai.





Output:

false

= Vs == vs === trong JavaScript

Dưới đây là những khác biệt quan trọng giữa =, == và ===

======
= Trong JavaScript được sử dụng để gán các giá trị cho một biến.== Trong JavaScript được sử dụng để so sánh hai biến, nhưng nó bỏ qua kiểu dữ liệu của biến.=== được sử dụng để so sánh hai biến, nhưng toán tử này cũng kiểm tra kiểu dữ liệu và so sánh hai giá trị.
Nó được gọi là toán tử chuyển nhượngNó được gọi là toán tử so sánhNó cũng được gọi là toán tử so sánh
Toán tử gán có thể đánh giá đến giá trị được gánKiểm tra sự bình đẳng của hai toán hạng mà không xem xét loại của chúng.So sánh bình đẳng của hai toán hạng với các loại của họ.
Nó không trả về đúng hay saiTrả về true nếu hai toán hạng bằng nhau. Nó sẽ trả về sai nếu hai toán hạng không bằng nhau.Nó chỉ trả về true nếu cả hai giá trị và kiểu dữ liệu đều giống nhau cho hai biến.
= Chỉ cần gán một giá trị biến cho một biến khác.== Thực hiện hiệu chỉnh loại dựa trên các giá trị của các biến.=== xem loại biến đang xem xét.
== sẽ không so sánh giá trị của các biến.== Kiểm tra sự bình đẳng chỉ sau khi thực hiện các cuộc trò chuyện cần thiết.Nếu hai giá trị biến không giống nhau, thì === sẽ không thực hiện bất kỳ chuyển đổi nào.

Sự khác biệt chính:

  • = được sử dụng để gán các giá trị cho một biến, == được sử dụng để so sánh hai biến, nhưng nó bỏ qua kiểu dữ liệu của biến trong khi === được sử dụng để so sánh hai biến, nhưng toán tử này cũng kiểm tra kiểu dữ liệu và so sánh hai giá trị.
  • = được gọi là toán tử gán, == được gọi là toán tử so sánh trong khi nó cũng được gọi là toán tử so sánh.
  • = Không trả về true hoặc false, == Chỉ trả về true nếu hai toán hạng bằng nhau trong khi === return chỉ đúng nếu cả hai giá trị và loại dữ liệu đều giống nhau cho hai biến.

Tại sao chúng ta sử dụng === trong JavaScript?

Toán tử bình đẳng nghiêm ngặt (===) kiểm tra xem hai toán hạng của nó có bằng nhau hay không, trả về kết quả boolean. Không giống như toán tử bình đẳng, toán tử bình đẳng nghiêm ngặt luôn coi các hoạt động của các loại khác nhau là khác nhau.checks whether its two operands are equal, returning a Boolean result. Unlike the equality operator, the strict equality operator always considers operands of different types to be different.

Tại sao JavaScript sử dụng === thay vì ==?

Sử dụng === Nếu bạn muốn so sánh một vài thứ trong JavaScript, nó được gọi là bình đẳng nghiêm ngặt, điều đó có nghĩa là điều này sẽ trả về đúng nếu chỉ có cả loại và giá trị giống nhau, vì vậy sẽ không có bất kỳ loại điều chỉnh không mong muốn nào cho bạn, nếu Bạn sử dụng ==, về cơ bản bạn không quan tâm đến loại hình và trong nhiều trường hợp bạn có thể gặp phải ...if you want to compare couple of things in JavaScript, it's called strict equality, it means this will return true if only both type and value are the same, so there wouldn't be any unwanted type correction for you, if you using == , you basically don't care about the type and in many cases you could face ...

Tôi có nên luôn luôn sử dụng === trong JavaScript không?

Lời khuyên được đưa ra cho người mới bắt đầu JavaScript là hoàn toàn quên đi == và luôn luôn sử dụng ===.Nó chỉ ra rằng quy tắc đó là toàn cầu.that rule is universally true.

Bạn có nên sử dụng Triple Equals JavaScript không?

Theo điều này, hầu hết các chuyên gia JavaScript khuyên bạn luôn sử dụng toán tử ba công bằng và không bao giờ sử dụng công bằng kép.Toán tử ba công bằng, như bạn có thể đã tìm ra bây giờ, không bao giờ ép buộc loại.Vì vậy, bất cứ khi nào bạn sử dụng Triple-Equals, bạn sẽ so sánh chính xác các giá trị thực tế.most JavaScript experts recommend always using the triple-equals operator, and never using double-equals. The triple-equals operator, as you've probably figured out by now, never does type coercion. So whenever you use triple-equals, you're doing an exact comparison of the actual values.