Truthiness narrowing là gì?

Noun Programming Typescript

Trong lập trình (programming) cụ thể là trong Typescript, truthiness narrowing là một loại của narrowing. Trong truthiness narrowing, chúng ta kiểm tra xem một biến (variable) là truthy hay không trước khi sử dụng nó. Khi một biến là truthy, thì Typescript sẽ tự động loại bỏ khả năng biến đó là falsy, tức là undefined hoặc null, v.v., trong kiểm tra có điều kiện (conditional check).

Chẳng hạn như ví dụ sau, trong đó một hàm (function) someFunction bên dưới nhận một đầu vào (input), có kiểu dữ liệu (type) là chuỗi (string) hoặc undefined (tức là tùy chọn (optional)).


function someFunction(x?: string) {
  if(x) {
    console.log(typeof x) // "string"
  }
}

Bằng cách kiểm tra xem đầu vào có phải là truthy hay không, kiểu dữ liệu của x sẽ trở thành một chuỗi, nếu không thì nó là undefined.

Learning English Everyday