Nếu không phải JavaScript

Trong hướng dẫn này, bạn sẽ tìm hiểu về JavaScript không bằng toán tử và các toán tử So sánh khác cùng với các ví dụ

Mục lục - JavaScript không bình đẳng

  • Toán tử so sánh trong JS là gì?
  • Là gì ". =” trong JS?
  • Các toán tử so sánh khác
  • Bớt tư tưởng

Toán tử so sánh trong JS là gì?

Toán tử so sánh trong ngôn ngữ lập trình dùng để so sánh hai giá trị. Các toán tử này trả về một giá trị boolean (đúng hoặc sai) dựa trên điều kiện. Do đó, các toán tử này được sử dụng trong quá trình ra quyết định hoặc làm câu lệnh điều kiện cho các vòng lặp

Với mức độ sử dụng rộng rãi của nó, mọi nhà phát triển nên hiểu chức năng của từng toán tử. Bài viết này là một điểm khởi đầu tốt cho bài viết tương tự, tuy nhiên, chúng tôi nhấn mạnh nhiều hơn về JavaScript không bằng nhau (. = &. ==) toán tử

Là gì ". =” trong JS?

Toán tử JavaScript không bằng hoặc bất đẳng thức (. =) kiểm tra xem hai giá trị có bằng nhau hay không và trả về giá trị boolean. Toán tử này cố gắng so sánh các giá trị bất kể chúng có thuộc các loại khác nhau hay không

Tuy nhiên, “. ==” hoặc Toán tử bất đẳng thức nghiêm ngặt không cố gắng làm như vậy và trả về false nếu các giá trị không bằng nhau hoặc thuộc các loại khác nhau

Cả hai toán tử này giải quyết các mục đích khác nhau và do đó tôi khuyên bạn nên thực hành chúng để tạo điều kiện hiểu thêm

Mã và giải thích

console.log(5 != 10);
// expected output: true

console.log(10 != 10);
// expected output: false

console.log(10 != '10');
// expected output: false

console.log(10 !== '10');
// expected output: true

Trong trường hợp đầu tiên, nó trả về true vì các giá trị khác nhau. Trong trường hợp thứ hai và thứ ba, nó trả về sai vì các giá trị giống nhau. Xin lưu ý rằng trong trường hợp sau mặc dù chúng ta đã chuyển 10 dưới dạng một chuỗi nhưng toán tử vẫn có thể so sánh cả hai giá trị

Trong trường hợp cuối cùng, chúng tôi đã sử dụng toán tử bất đẳng thức nghiêm ngặt và nó trả về true vì các giá trị thuộc các loại khác nhau

Các toán tử so sánh khác

Ngoài các toán tử JavaScript không bằng nhau và bất đẳng thức nghiêm ngặt, chúng tôi có một vài toán tử khác giải quyết các trường hợp sử dụng khác nhau. Chúng tôi đã thêm một bản tóm tắt về họ dưới đây

  • Equal to (==) - Kiểm tra 2 giá trị có bằng nhau không
  • Strict equal to (===) - Kiểm tra hai giá trị bằng nhau và cùng kiểu
  • Lớn hơn (>) - Kiểm tra xem giá trị bên trái có lớn hơn giá trị bên phải không
  • Lớn hơn hoặc bằng (>=) - Kiểm tra xem giá trị có lớn hơn hoặc bằng giá trị bên phải không
  • Nhỏ hơn (<) - Kiểm tra xem giá trị bên trái có nhỏ hơn giá trị bên phải không
  • Nhỏ hơn hoặc bằng (<=) - Kiểm tra xem giá trị có nhỏ hơn hoặc bằng giá trị bên phải không

Mã và giải thích

console.log(5 == 10);
// expected output: false
console.log(10 === 10);
// expected output: true
console.log(10 ==='10');
// expected output: false

console.log(5 > 10);
// expected output: false
console.log(5 >= 5);
// expected output: false

console.log(5 < 10);
// expected output: true
console.log(5 <= 5);
// expected output: true

Suy nghĩ kết thúc - JavaScript không bằng nhau

Trong hướng dẫn này, chúng tôi đã đề cập đến JavaScript không bằng nhau và các toán tử so sánh khác. Bước tiếp theo, hãy dành thời gian thực hành để người vận hành hiểu chúng khác nhau như thế nào và cũng thử phá vỡ chúng

Để làm điều đó, chúng ta có thể sử dụng câu lệnh

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
6 và toán tử điều kiện
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
7, còn được gọi là toán tử “dấu chấm hỏi”

Câu lệnh “nếu”

Câu lệnh

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
8 đánh giá một điều kiện trong ngoặc đơn và, nếu kết quả là
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
9, thì thực thi một khối mã

Ví dụ

let year = prompt('In which year was ECMAScript-2015 specification published?', '');

if (year == 2015) alert( 'You are right!' );

Trong ví dụ trên, điều kiện là một phép kiểm tra đẳng thức đơn giản (

if (0) { // 0 is falsy
  ...
}
0), nhưng nó có thể phức tạp hơn nhiều

Nếu chúng ta muốn thực thi nhiều hơn một câu lệnh, chúng ta phải bọc khối mã của mình bên trong dấu ngoặc nhọn

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}

Chúng tôi khuyên bạn nên bọc khối mã của mình bằng dấu ngoặc nhọn

if (0) { // 0 is falsy
  ...
}
1 mỗi khi bạn sử dụng câu lệnh
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
6, ngay cả khi chỉ có một câu lệnh để thực thi. Làm như vậy sẽ cải thiện khả năng đọc

chuyển đổi Boolean

Câu lệnh

if (0) { // 0 is falsy
  ...
}
3 đánh giá biểu thức trong ngoặc đơn của nó và chuyển đổi kết quả thành giá trị boolean

Hãy nhớ lại các quy tắc chuyển đổi từ chương Chuyển đổi loại

  • Một số
    if (0) { // 0 is falsy
      ...
    }
    4, một chuỗi rỗng
    if (0) { // 0 is falsy
      ...
    }
    5,
    if (0) { // 0 is falsy
      ...
    }
    6,
    if (0) { // 0 is falsy
      ...
    }
    7 và
    if (0) { // 0 is falsy
      ...
    }
    8 đều trở thành
    if (0) { // 0 is falsy
      ...
    }
    9. Do đó chúng được gọi là các giá trị “falsy”
  • Các giá trị khác trở thành
    if (year == 2015) {
      alert( "That's correct!" );
      alert( "You're so smart!" );
    }
    9, vì vậy chúng được gọi là “trung thực”

Vì vậy, mã trong điều kiện này sẽ không bao giờ thực thi

if (0) { // 0 is falsy
  ...
}

…và bên trong điều kiện này – nó sẽ luôn luôn

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
0

Chúng tôi cũng có thể chuyển một giá trị boolean được đánh giá trước cho

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
6, như thế này

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
2

Mệnh đề “khác”

Câu lệnh

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
6 có thể chứa khối tùy chọn
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
03. Nó thực thi khi điều kiện sai

Ví dụ

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
5

Một số điều kiện. “khác nếu”

Đôi khi, chúng tôi muốn thử nghiệm một số biến thể của một điều kiện. Mệnh đề

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
04 cho phép chúng ta làm điều đó

Ví dụ

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
7

Trong đoạn mã trên, trước tiên JavaScript kiểm tra

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
05. Nếu điều đó là sai, nó sẽ chuyển sang điều kiện tiếp theo
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
06. Nếu đó cũng là giả, nó hiển thị
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
07 cuối cùng

Có thể có nhiều khối

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
04.
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
03 cuối cùng là tùy chọn

Điều hành có điều kiện '?'

Đôi khi, chúng ta cần gán một biến tùy thuộc vào một điều kiện

Ví dụ

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
3

Cái gọi là toán tử “có điều kiện” hoặc “dấu chấm hỏi” cho phép chúng ta làm điều đó một cách ngắn gọn và đơn giản hơn

Toán tử được biểu thị bằng dấu chấm hỏi

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
7. Đôi khi nó được gọi là "bộ ba", bởi vì toán tử có ba toán hạng. Nó thực sự là toán tử duy nhất trong JavaScript có nhiều

Cú pháp là

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
5

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
21 được đánh giá. nếu đó là sự thật thì
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
22 được trả lại, nếu không thì –
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
23

Ví dụ

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
9

Về mặt kỹ thuật, chúng ta có thể bỏ qua dấu ngoặc đơn xung quanh

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
24. Toán tử dấu chấm hỏi có độ ưu tiên thấp, vì vậy nó thực thi sau khi so sánh
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
25

Ví dụ này sẽ làm điều tương tự như ví dụ trước

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
0

Nhưng dấu ngoặc đơn làm cho mã dễ đọc hơn, vì vậy chúng tôi khuyên bạn nên sử dụng chúng

Xin lưu ý

Trong ví dụ trên, bạn có thể tránh sử dụng toán tử dấu chấm hỏi vì phép so sánh tự trả về

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
26

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
1

Nhiều '?'

Một chuỗi các toán tử dấu chấm hỏi

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
7 có thể trả về một giá trị phụ thuộc vào nhiều hơn một điều kiện

Ví dụ

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
2

Lúc đầu có thể khó nắm bắt những gì đang xảy ra. Nhưng sau khi xem xét kỹ hơn, chúng ta có thể thấy rằng đó chỉ là một chuỗi thử nghiệm bình thường.

  1. Dấu chấm hỏi đầu tiên kiểm tra xem
    if (year == 2015) {
      alert( "That's correct!" );
      alert( "You're so smart!" );
    }
    28
  2. Nếu đúng – nó trả về
    if (year == 2015) {
      alert( "That's correct!" );
      alert( "You're so smart!" );
    }
    29. Ngược lại, nó tiếp tục đến biểu thức sau dấu hai chấm “. ”, kiểm tra
    if (year == 2015) {
      alert( "That's correct!" );
      alert( "You're so smart!" );
    }
    50
  3. Nếu điều đó đúng – nó trả về
    if (year == 2015) {
      alert( "That's correct!" );
      alert( "You're so smart!" );
    }
    51. Nếu không, nó tiếp tục biểu thức sau dấu hai chấm tiếp theo “. ”, kiểm tra
    if (year == 2015) {
      alert( "That's correct!" );
      alert( "You're so smart!" );
    }
    52
  4. Nếu điều đó đúng – nó trả về
    if (year == 2015) {
      alert( "That's correct!" );
      alert( "You're so smart!" );
    }
    53. Mặt khác, nó tiếp tục biểu thức sau dấu hai chấm cuối cùng “. ”, trả về
    if (year == 2015) {
      alert( "That's correct!" );
      alert( "You're so smart!" );
    }
    54

Đây là giao diện của nó khi sử dụng

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
55

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
3

Cách sử dụng phi truyền thống của ‘?’

Đôi khi dấu chấm hỏi

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
7 được dùng để thay thế cho
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
6

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
4

Tùy thuộc vào điều kiện

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
58, biểu thức đầu tiên hoặc biểu thức thứ hai sau
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
7 được thực thi và hiển thị cảnh báo

Chúng tôi không gán kết quả cho một biến ở đây. Thay vào đó, chúng tôi thực thi các mã khác nhau tùy thuộc vào điều kiện

Không nên sử dụng toán tử dấu chấm hỏi theo cách này

Ký hiệu này ngắn hơn câu lệnh

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
6 tương đương, thu hút một số lập trình viên. Nhưng nó ít đọc hơn

Đây là mã tương tự sử dụng

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
6 để so sánh

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
5

Mắt chúng ta quét mã theo chiều dọc. Các khối mã kéo dài nhiều dòng sẽ dễ hiểu hơn một tập lệnh dài, nằm ngang

Mục đích của toán tử dấu chấm hỏi

if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
7 là trả về giá trị này hay giá trị khác tùy thuộc vào điều kiện của nó. Vui lòng sử dụng nó cho chính xác điều đó. Sử dụng
if (year == 2015) {
  alert( "That's correct!" );
  alert( "You're so smart!" );
}
6 khi bạn cần thực thi các nhánh mã khác nhau

Làm cách nào để sử dụng điều kiện not in if trong JavaScript?

Tóm tắt. Nếu bạn muốn phủ định câu lệnh if, chúng ta có thể làm như vậy bằng cách sử dụng toán tử NOT đảo ngược giá trị Boolean và do đó thay đổi giá trị đó từ true thành false hoặc từ false thành true .

làm gì. == Có nghĩa là trong JavaScript?

==) Bất đẳng thức nghiêm ngặt (. == ) toán 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ất đẳng thức, toán tử bất đẳng thức nghiêm ngặt luôn coi các toán hạng có kiểu khác nhau là khác nhau.

Toán tử NOT trong câu lệnh if là gì?

Toán tử not là toán tử logic, được biểu diễn trong Java bởi. biểu tượng . Đó là một toán tử đơn hạng lấy giá trị boolean làm toán hạng của nó. Toán tử not hoạt động bằng cách đảo ngược (hoặc phủ định) giá trị của toán hạng của nó.

== và === trong JavaScript là gì?

=== — bình đẳng nghiêm ngặt (ba bằng) == — bình đẳng lỏng (bằng kép)