Toán tử ba ngôi trong JavaScript

Toán tử ba ngôi trong JavaScript

Ở các bài viết trước, chúng ta đã cùng với nhau tìm hiểu hai câu lệnh điều kiện căn bản trong JavaScript làIf – elseSwitch – case. Hôm nay mình sẽ giới thiệu cho các bạn một cách nữa, đó là toán tử ba ngôi (Ternary Operator) trong JavaScritp.

Cú pháp toán tử ba ngôi

Toan tu ba ngoi trong JavaScript 1
variable_name = (condition) ? value1 : value2

Nếu condition nó là đúng (hay là true) thì toán tử sẽ trả về value 1 còn nếu là sai (hay là false) thì nó sẽ trả về giá trị của value 2

Nếu như trước đây khi phải sử dụng với if – else ta sẽ có như thế này:

var exp = 3; var salary; if (exp > 3) { salary = 1000; } else { salary = 500; } console.log(salary) // 500
Code language:JavaScript(javascript)

Thì bây giờ chỉ còn:

var exp = 1; var salary = exp > 3 ? 1000 : 500; console.log(salary) // 500 // Nếu exp có giá trị là null hoặc undefined thì sẽ gán giá trị cho biến"null or undefined"
Code language:JavaScript(javascript)

Nếu các bạn chưa hiểu rõ null và undefined là gì, hãy xem bài viết này: Phân biệt Null, Undefined và NaN

Điều kiện nối tiếp (Conditional chains)

Toán tử điều kiện tuân theo suy dẫn phải, tức là nó có thể được gọi “nối tiếp” theo cách sau đây, tương tự như với If – else If – else If – else nối tiếp nhau:
Nếu như trước đây ta sẽ có :

var exp = 2; var salary; if ( exp < 1 ) { salary = 1000; } else if ( exp < 2 ) { salary = 1500; } else if ( exp < 3 ) { salary = 2000; } else { salary = 3000; } console.log(salary) // 2000
Code language:JavaScript(javascript)

thì bây giờ chỉ còn:

var exp = 2; var salary = exp < 1 ? 1000 : exp < 2 ? 1500 : exp < 3 ? 2000 : 3000 console.log(salary) // 2000
Code language:JavaScript(javascript)

Kết luận

Trong bài viết này, mình đã trình bày cách sử dụng toán tử ba ngôi, chi tiết các bạn có thể xem video bên dưới để hiểu rõ hơn, các bạn để lại comment nếu có thắc mắc để được giải đáp nhé. Cảm ơn mọi người đã theo dõi bài viết!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

CodeGym Full-stack

Leave a Reply

Your email address will not be published. Required fields are marked *