Tôi có nên sử dụng gấp đôi hoặc gấp ba bằng JavaScript không?

Bằng (=) là toán tử gán, đặt biến ở bên trái của dấu = thành giá trị của biểu thức ở bên phải. Toán tử này gán lvalue cho rvalue

Ví dụ Viết a=10 là được. Nếu chúng ta viết 10=10, ‘a’ = 10 hoặc ‘an’ = ‘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 lại sử dụng = trong JavaScript?
  • Tại sao lại 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ì?

Dấu bằng kép (==) là toán tử so sánh, dùng để biến đổi các toán hạng có cùng kiểu trước khi so sánh

Vì vậy, khi bạn so sánh chuỗi với một số, JavaScript sẽ chuyển đổi bất kỳ chuỗi nào thành số. Một chuỗi rỗng luôn chuyển 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ề false

=== trong JavaScript là gì?

=== (Ba bằng) là toán tử so sánh đẳng thức nghiêm ngặt trong JavaScript, trả về false cho các giá trị không cùng loại. Toán tử này thực hiện ép kiểu cho bình đẳng. Nếu chúng ta so sánh 2 với “2” bằng cách sử dụng ===, thì nó sẽ trả về giá trị sai

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

Dưới đây là những 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 tùy thuộc vào giá trị của toán hạng có sẵn ở bên phải. Toán hạng đầ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 toán hạng này cho toán hạng khác. Tức là a = b gán giá trị của b cho a

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

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

Toán tử == là toán tử đẳng thức. 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ừ kiểu dữ liệu này sang kiểu 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 cùng loại

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 sang một số giá trị khác trước khi so sánh
  • Nếu các giá trị biến thuộc các loại khác nhau, thì các giá trị được coi là không bằng nhau
  • Nếu các biến cùng loại, không phải là số và có cùng giá trị thì 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à có cùng giá trị

Ví dụ về =

Trong chương trình dưới đây, có hai biến “a” và “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”. Tổng giá trị của biến “a” và “b” là 7. Do đó, đầu ra là 7





JavaScript Operators

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


đầu ra

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

7

Ví dụ về ==

Trong chương trình dưới đây, chúng ta đã khai báo một biến “a” có giá trị 10. Cuối cùng, câu lệnh a == 20 trả về false vì giá trị của a là 10





đầu ra

sai

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 trong dấu ngoặc 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

gấp đôi bằng nhau. Toán tử double equal(‘==’) kiểm tra đẳng thức trừu tượng i. e. nó thực hiện các chuyển đổi loại cần thiết trước khi thực hiện so sánh đẳng thức

Ba bằng nhau. Toán tử ba bằng (‘===’) kiểm tra đẳng thức nghiêm ngặt i. e nó sẽ không thực hiện chuyển đổi kiểu do đó nếu 2 giá trị không cùng kiểu thì khi so sánh sẽ trả về false.  

ví dụ 1. Trong ví dụ này, chúng tôi sẽ kiểm tra chất lượng trừu tượng và nghiêm ngặt. Một sẽ trả về true giữa chuỗi 9 và số 9. Vì không có kiểu so sánh nên trong trường hợp ‘===’ sẽ trả về false.  

Javascript




true
false
9

true
false
0
true
false
1

true
false
0
true
false
3

true
false
0
true
false
5____20
true
false
1

true
false
2

true
false
0
true
false
4

true
false
0
true
false
6

true
false
0
true
false
8
true
false
0
true
false
1

true
false
1

đầu ra

true
false

Chúng tôi có một bài viết về Toán tử so sánh '===' so với '==' của JavaScript, bạn có thể xem qua bài viết đó để biết thông tin chuyên sâu

ví dụ 2. Đây L. H. S. là một chuỗi ký tự trong khi R. H. S. là một đối tượng chuỗi, do chuyển đổi kiểu của đối tượng chuỗi thành chuỗi ký tự nên nó trả về giá trị true.  

Javascript




true
false
9

true
false
0
true
false
4

true
false
0
true
false
6
true
false
7
true
false
8
true
false
9
true
false
90
true
false
7
true
false
92

true
false
93

true
false
0
true
false
95

true
false
0______26
true
false
7
true
false
99
true
false
9
true
false
90
true
false
7
true
false
92

true
false
1

đầu ra

true
false

ví dụ 3. Ở đây số 1 được chuyển đổi thành true (kiểu boolean) trong javascript true được gọi là 1 và false được gọi là 0, do đó nó trả về true.  

Javascript




true
false
9

true
false
0
true
false
07

true
false
0
true
false
6______310
true
false
8
true
false
12
true
false
13

true
false
93

true
false
0
true
false
16

true
false
0____26____310
true
false
99
true
false
12
true
false
13

true
false
1

đầu ra

true
false

Nói chung, toán tử “===” được khuyến nghị vì nó không bao giờ chuyển đổi loại, chúng tôi đang thực hiện so sánh chính xác, do đó, nó luôn tạo ra kết quả chính xác

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

= Vs == VS === trong JavaScript . == trong JavaScript được dùng để so sánh hai biến, nhưng nó bỏ qua kiểu dữ liệu của biến . === được 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ị.

Tôi có nên sử dụng ba bằng JavaScript không?

Vì lý do này, hầu hết các chuyên gia JavaScript khuyên bạn nên luôn sử dụng toán tử dấu bằng ba lần và không bao giờ sử dụng dấu bằng kép. Toán tử ba bằng, như bây giờ bạn có thể đã hình dung ra, không bao giờ gõ ép buộc. Vì vậy, bất cứ khi nào bạn sử dụng ba dấu bằng, bạn đang so sánh chính xác các giá trị thực tế.

Bạn có nên sử dụng dấu bằng kép trong 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 sao bạn lại sử dụng === thay vì ==?

Sự khác biệt giữa == và === là. == chuyển đổi các giá trị của biến thành cùng loại trước khi thực hiện so sánh . Điều này được gọi là ép buộc kiểu. === không thực hiện bất kỳ chuyển đổi loại nào (ép buộc) và chỉ trả về true nếu cả giá trị và loại giống hệt nhau đối với hai biến được so sánh.