Hướng dẫn ternary operator in javascript - toán tử bậc ba trong javascript

Toán tử có điều kiện (ternary) là toán tử JavaScript duy nhất có ba toán hạng: một điều kiện theo sau là dấu hỏi (

const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
1), sau đó là một biểu thức để thực thi nếu điều kiện là sự thật theo sau là dấu hai chấm (
const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
2) và cuối cùng là biểu thức để Thực thi nếu điều kiện là giả. Toán tử này thường được sử dụng thay thế cho câu lệnh
const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
3.conditional (ternary) operator is the only JavaScript operator that takes three operands: a condition followed by a question mark (
const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
1), then an expression to execute if the condition is truthy followed by a colon (
const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
2), and finally the expression to execute if the condition is falsy. This operator is frequently used as an alternative to an
const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
3 statement.

Thử nó

Cú pháp

condition ? exprIfTrue : exprIfFalse

Thông số

const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
4

Một biểu thức có giá trị được sử dụng làm điều kiện.

const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
5

Một biểu thức được thực thi nếu

const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
4 đánh giá thành giá trị sự thật (một biểu hiện bằng hoặc có thể được chuyển đổi thành
const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
7).

const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
8

Một biểu thức được thực thi nếu

const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
4 là giả (nghĩa là có giá trị có thể được chuyển đổi thành
const greeting = (person) => {
  const name = person ? person.name : "stranger";
  return `Howdy, ${name}`;
}

console.log(greeting({ name: "Alice" }));  // "Howdy, Alice"
console.log(greeting(null));             // "Howdy, stranger"
0).

Sự mô tả

Bên cạnh

const greeting = (person) => {
  const name = person ? person.name : "stranger";
  return `Howdy, ${name}`;
}

console.log(greeting({ name: "Alice" }));  // "Howdy, Alice"
console.log(greeting(null));             // "Howdy, stranger"
0, các biểu thức giả có thể là:
const greeting = (person) => {
  const name = person ? person.name : "stranger";
  return `Howdy, ${name}`;
}

console.log(greeting({ name: "Alice" }));  // "Howdy, Alice"
console.log(greeting(null));             // "Howdy, stranger"
2,
const greeting = (person) => {
  const name = person ? person.name : "stranger";
  return `Howdy, ${name}`;
}

console.log(greeting({ name: "Alice" }));  // "Howdy, Alice"
console.log(greeting(null));             // "Howdy, stranger"
3,
const greeting = (person) => {
  const name = person ? person.name : "stranger";
  return `Howdy, ${name}`;
}

console.log(greeting({ name: "Alice" }));  // "Howdy, Alice"
console.log(greeting(null));             // "Howdy, stranger"
4, chuỗi trống (
const greeting = (person) => {
  const name = person ? person.name : "stranger";
  return `Howdy, ${name}`;
}

console.log(greeting({ name: "Alice" }));  // "Howdy, Alice"
console.log(greeting(null));             // "Howdy, stranger"
5) và
const greeting = (person) => {
  const name = person ? person.name : "stranger";
  return `Howdy, ${name}`;
}

console.log(greeting({ name: "Alice" }));  // "Howdy, Alice"
console.log(greeting(null));             // "Howdy, stranger"
6. Nếu
const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
4 là bất kỳ trong số này, kết quả của biểu thức có điều kiện sẽ là kết quả của việc thực hiện biểu thức
const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
8.

Ví dụ

Một ví dụ đơn giản

const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"

Xử lý các giá trị null

Một cách sử dụng phổ biến là xử lý một giá trị có thể là

const greeting = (person) => {
  const name = person ? person.name : "stranger";
  return `Howdy, ${name}`;
}

console.log(greeting({ name: "Alice" }));  // "Howdy, Alice"
console.log(greeting(null));             // "Howdy, stranger"
2:

const greeting = (person) => {
  const name = person ? person.name : "stranger";
  return `Howdy, ${name}`;
}

console.log(greeting({ name: "Alice" }));  // "Howdy, Alice"
console.log(greeting(null));             // "Howdy, stranger"

Chuỗi có điều kiện

Toán tử ternary là liên kết đúng, có nghĩa là nó có thể được "xích" theo cách sau, tương tự như chuỗi

function example() {
  return condition1 ? value1
        : condition2 ? value2
        : condition3 ? value3
        : value4;
}
0:

function example() {
  return condition1 ? value1
        : condition2 ? value2
        : condition3 ? value3
        : value4;
}

Điều này tương đương với chuỗi

const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
3 sau đây.

function example() {
  if (condition1) {
    return value1;
  } else if (condition2) {
    return value2;
  } else if (condition3) {
    return value3;
  } else {
    return value4;
  }
}

Thông số kỹ thuật

Sự chỉ rõ
Đặc tả ngôn ngữ Ecmascript # Sec-Contressal-Trình vận hành
# sec-conditional-operator

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm

  • Cú pháp toán tử ba ngôi
  • Điều kiện nối tiếp (Conditional chains)
  • Video bài giảng
  • Luyện tập
    • Bài 1
      • Hướng dẫn
    • Bước 1: Tạo file add.html
      • Hướng dẫn
  • Bước 1: Tạo file add.html

Bước 2: Thêm thẻ 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 JavaScript.


Hướng dẫn ternary operator in javascript - toán tử bậc ba trong javascript

variable_name = (condition) ? value1 : value2

Cú pháp toán tử ba ngôitrue) 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 salary là "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.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:

Hướng dẫn ternary operator in javascript - toán tử bậc ba trong javascript

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 : 3000console.log(salary) // 2000

Code language: JavaScript (javascript)

Video bài giảng


Luyện tập

Hướng dẫn ternary operator in javascript - toán tử bậc ba trong javascript

Bài 1

Viết chương trình nhập vào giá trị cho a và b. Tính tổng a và b, nếu tổng nhỏ hơn 4, hiển thị chuỗi Below, ngược lại hiển thị Over. Lưu ý sử dụng toán tử 3 ngôi.Tính tổng a và b, nếu tổng nhỏ hơn 4, hiển thị chuỗi Below, ngược lại hiển thị Over. Lưu ý sử dụng toán tử 3 ngôi.

Nếu dùng if - else:

const age = 26;
const beverage = age >= 21 ? "Beer" : "Juice";
console.log(beverage); // "Beer"
0

Hướng dẫn

Bước 1: Tạo file add.html Tạo file add.html

Bước 2: Thêm thẻ  Thêm thẻ