Toán tử điều kiện (ba ngôi) Conditional (Ternary) Operator trong lập trình Javascript (Phần VI)



  • Chào các bạn, ở các bài viết trước thì 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 ELSE và SWITCH CASE. Hôm nay tôi sẽ giới thiệu cho các bạn một cách nữa để gán giá trị cho một biến dựa theo điều kiện mà không cần dùng câu lệnh if-else là Toán tử 3 ngôi (Ternary Operator).

    Cú pháp

    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
    

    Thì bâu 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      salary là "null or undefined"
    

    Đ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
    

    thì bây giờ :

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

    Kết luận

    Trong bài viết này, tôi đã 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!

    Tu khoa de day


Log in to reply