TypeScript の一般的な演算子の概要


1. 非 null アサーション演算子 (!)

型を判断できない場合は、後置式演算子を使用して、操作オブジェクトが非型であるnullか非undefined型であるかを判断できます。

具体的には、たとえば、式: x! の場合、結果は x 値の範囲から null と未定義を除外します。


(1). 値を割り当てるときは、null と未定義を無視します。

function test(name: string | undefined | null) {
    
    
  
  // Type 'string | null | undefined' is not assignable to type 'string'.
  // Type 'undefined' is not assignable to type 'string'. 
  const onlyStringName: string = name;   // error
  const ignoreUndefinedAndNullName: string = name!; // Ok
}

(2) 関数呼び出し時にnullとunknownを無視する

type CallBackString = () => string;
function test(call: CallBackString |null| undefined) {
    
    
  // Object is possibly 'undefined'.
  // Cannot invoke an object which is possibly 'undefined'.
  const onlyStringName = call(); // Error
  const ignoreUndefinedAndNullName = call!(); //OK
}

2. オプションのチェーン演算子 (?.)

?.演算子関数はチェーン演算子に似ています。違いは、参照が空 (または).の場合にエラーが発生しないことです。指定された値が存在しない場合は、その値が直接返されますnullundefinedundefined


例えば:

const obj = {
    
    
  project: {
    
    
    dir: {
    
    
      file: "name",
    },
  },
};

const file = obj?.project?.dir?.file; // name
const test = obj?.other?.dir; // undefined

3. 空値結合演算子(??)と論理和演算子(||)

左オペランドがnullまたは の場合はundefined右オペランドが返され、それ以外の場合は左オペランドが返されます。

falsenull 合体演算子は、左側のオペランドが値の場合に右側のオペランドを返す論理 OR || 演算子とは異なります。


例えば:

const file = null ?? 'dir'; // dir
const num = 0 ?? 20;        // 0
const num1 = 0 || 20;			  // 20

4. オプションの属性演算子 (?:)

インターフェースを宣言するには、interface キーワードを使用します。

interface Student {
    
    
    name: string;
    age: number;
    gender:number;
}

この時点でインターフェイスを定義します。パラメータが不足している場合は、エラーが報告されます。

let student: Student = {
    name: "name1"
    age:12
}; //Error 

この時点で、オプションの属性を使用して再度定義します。

interface Student {
    
    
    name: string;
    age: number;
    gender?:number;
}

let student: Student = {
    
    
    name: "name1"
    age:12
}; //ok 

5. 演算子 (&)

& 演算子を使用すると、複数のタイプを重ね合わせて 1 つのタイプに結合できます。

次のように:

type Pointx = {
    
     x: number; };
type Ponity = {
    
     y: number; };

type Point = Pointx & Ponity;
let  point: Point = {
    
     x: 1,  y: 1 }


6. 演算子 (|)

TypeScript では、共用体型は、値が複数の型の 1 つであることを示します。共用体型は通常、null または unknown と一緒に使用されます。

演算子 (|) は、共用体型を宣言するときに各型を区切るためによく使用されます。

const fun = (info:string | null | undefined) => {
    
    }

7. 数字区切り文字 (_)

アンダースコアを区切り文字として使用して、数値をグループ化できます。

const number1 = 1234_5678
// 等价
const number2 = 12345678;

おすすめ

転載: blog.csdn.net/lizhong2008/article/details/133237058