Hướng dẫn nested ternary operator javascript - toán tử bậc ba lồng nhau javascript

Như bạn có thể biết, các toán tử ternary trong JavaScript là một câu lệnh thay thế duy nhất cho nếu các câu lệnh khác thường được sử dụng để làm cho mã ngắn gọn hơn và dễ hiểu hơn. Ví dụ: chúng ta có thể có một chức năng trả về các trò chơi có hay không, tùy thuộc vào việc một số được truyền cho nó có kỳ lạ hay không.

function isOdd(num) {
if (num % 2 === 1) return 'yes';
else return 'no';
}

Chúng ta có thể tái cấu trúc chức năng

function isOdd(num) {
return num % 2 === 1 ? 'yes' : 'no';
}
4 để sử dụng câu lệnh có điều kiện một dòng như sau:

function isOdd(num) {
return num % 2 === 1 ? 'yes' : 'no';
}

Nhà điều hành ternary lồng nhau trong JavaScript

Chúng ta có thể làm tổ một toán tử ternary như một biểu thức bên trong một toán tử ternary khác. Chúng ta có thể sử dụng điều này để thay thế nếu khác nếu các câu lệnh khác và các câu lệnh chuyển đổi. Ví dụ: chúng ta có thể có một đoạn mã đặt từ tiếng Anh cho các số 1, 2 và 3 thành một biến. Với nếu khác nếu một người khác:

let num = 1;
let word;
if (num === 1) word = 'one';
else if (num === 2) word = 'two';
else if (num === 3) word = 'three';
else num = 'unknown';

Với trường hợp chuyển đổi:

let num = 1;
let word;
switch (num) {
case 1:
word = 'one';
break;
case 2:
word = 'two';
break;
case 3:
word = 'three';
break;
default:
word = 'unknown';
break;
}

Và bây giờ với các nhà khai thác ternary lồng nhau:

let num = 1;
let word =
num === 1
? 'one'
: num === 2
? 'two'
: num === 3
? 'three'
: 'unknown';

Ví dụ mã trên hoạt động chính xác giống như hai trước đó và ít lộn xộn hơn. Lưu ý rằng chúng tôi hiện có thể khai báo và đặt biến trong cùng một tuyên bố với phương pháp ternary lồng nhau này.

Cập nhật tại: CodingBeautydev.com

Đăng ký nhận bản tin sắc đẹp mã hóa

Nhận các mẹo và hướng dẫn phát triển web mới mỗi tuần.

Đặt mua

Chuẩn rồi. Cú pháp của bạn không đúng. Để hiểu lý do tại sao mã của bạn không hoạt động, nó sẽ giúp ích nếu bạn viết lại các câu lệnh

function isOdd(num) {
return num % 2 === 1 ? 'yes' : 'no';
}
5 của mình một chút.

if (this.engagement === 'social-crm') {
    return item.verified === true;
} else if (this.engagement === 'social') {
    return item.verified === false;
} else if (this.engagement === 'all') {
    return item;
}

Với điều này:

if(this.engagement === 'social-crm') { return item.verified === true; }
else {
   if(this.engagement === 'social') {item.verified === false; }
   else {
       if(this.engagement === 'all') {return item;} 
   }
}

Bây giờ, các nhà khai thác ternary theo một thời trang lồng nhau tương tự.

cond1 ? val1 : ( val2 )

Trong đó

function isOdd(num) {
return num % 2 === 1 ? 'yes' : 'no';
}
6

Trong đó

function isOdd(num) {
return num % 2 === 1 ? 'yes' : 'no';
}
7

Vì vậy, bây giờ bạn có thể viết lại biểu thức của mình như thế này:

this.engagement === 'social-crm' ? item.verified === true : 
    (this.engagement === 'social' ? item.verified === false : 
        (this.engagement === 'all' ?  item : null))

Dấu ngoặc đơn quan trọng ở đây, bởi vì nó bắt chước chặt chẽ if-eleses từ trên cao.

Cũng lưu ý rằng đối với hầu hết các biểu thức bên trong, giá trị trả về trong cái khác phải được chỉ định. Tôi đã đặt nó thành NULL nhưng bạn có thể trả lại những gì bạn muốn. Xin lưu ý đây là lý do thực tế mã của bạn bị lỗi. Xin lỗi nếu câu trả lời dài nhưng tôi muốn giúp bạn hiểu các nhà khai thác ternary lồng nhau.

Như bạn có thể biết, các toán tử ternary trong JavaScript là một câu lệnh thay thế duy nhất cho nếu các câu lệnh khác thường được sử dụng để làm cho mã ngắn gọn hơn và dễ hiểu hơn. Ví dụ: chúng ta có thể có một chức năng trả về các trò chơi có hay không, tùy thuộc vào việc một số được truyền cho nó có kỳ lạ hay không.

function isOdd(num) {
  if (num % 2 === 1) return 'yes';
  else return 'no';
}

Chúng ta có thể tái cấu trúc chức năng

function isOdd(num) {
return num % 2 === 1 ? 'yes' : 'no';
}
4 để sử dụng câu lệnh có điều kiện một dòng như sau:

function isOdd(num) {
return num % 2 === 1 ? 'yes' : 'no';
}
0

Hướng dẫn nested ternary operator javascript - toán tử bậc ba lồng nhau javascript

JavaScript: Những phần tốt

Trong hướng dẫn chiếu sáng này, chuyên gia JavaScript nổi tiếng Douglas Crockford lọc ra các sai lầm ngôn ngữ để tiết lộ những phần đẹp và thanh lịch của JavaScript cho phép bạn tạo mã hiệu quả cao.

Chúng tôi có thể kiếm được một khoản hoa hồng khi bạn mua hàng, không có thêm chi phí cho bạn.

Nhà điều hành ternary lồng nhau trong JavaScript

Chúng ta có thể làm tổ một toán tử ternary như một biểu thức bên trong một toán tử ternary khác. Chúng ta có thể sử dụng điều này để thay thế nếu khác nếu các câu lệnh khác và các câu lệnh chuyển đổi. Ví dụ: chúng ta có thể có một đoạn mã đặt từ tiếng Anh cho các số 1, 2 và 3 thành một biến. Với nếu khác nếu một người khác:

function isOdd(num) {
return num % 2 === 1 ? 'yes' : 'no';
}
1

Với trường hợp chuyển đổi:

function isOdd(num) {
return num % 2 === 1 ? 'yes' : 'no';
}
2

Và bây giờ với các nhà khai thác ternary lồng nhau:

function isOdd(num) {
return num % 2 === 1 ? 'yes' : 'no';
}
3

Ví dụ mã trên hoạt động chính xác giống như hai trước đó và ít lộn xộn hơn. Lưu ý rằng chúng tôi hiện có thể khai báo và đặt biến trong cùng một tuyên bố với phương pháp ternary lồng nhau này.

Mọi điều điên rồ JavaScript làm

Một hướng dẫn quyến rũ cho các cảnh báo tinh tế và các phần ít được biết đến của JavaScript.

Hướng dẫn nested ternary operator javascript - toán tử bậc ba lồng nhau javascript

Đăng ký và nhận một bản sao miễn phí ngay lập tức.

Hướng dẫn nested ternary operator javascript - toán tử bậc ba lồng nhau javascript

Ayibatari Ibaba là một nhà phát triển phần mềm với nhiều năm kinh nghiệm xây dựng các trang web và ứng dụng. Ông đã viết nhiều về một loạt các chủ đề lập trình và đã tạo ra hàng chục ứng dụng và thư viện nguồn mở.