1. 程式人生 > 其它 >ts中特殊符號

ts中特殊符號

最全特殊符號連結:https://blog.csdn.net/qiwoo_weekly/article/details/108557466

1.字尾表示式操作符!可以用於斷言操作物件是非 null 和非 undefined 型別:

function x (y:string | undefined | null) {

const a:string = y; // error

const b:string = y!; // ok

}

2.可選鏈?.編寫程式碼時如果遇到nullundefined就可以立即停止某些表示式的執行

obj?.prop

obj?.[expr]

arr?.[index]

func?.(args)

這裡我們來舉一個可選的屬性訪問的例子:

constval=a?.b;

為了更好的理解可選鏈,我們來看一下該const val = a?.b語句編譯生成的 ES5 程式碼:

varval=a===null||a===void0?void0:a.b;

可選鏈函式呼叫:letresult=obj.customMethod?.();

3.??.空值合併運算子:當左側運算元為 null 或 undefined 時,其返回右側的運算元,否則返回左側的運算元。

eg:

constfoo=null??'defaultstring';

console.log(foo);//輸出:"default string"

4.?:可選屬性:TypeScript 中的介面是一個非常靈活的概念,除了可用於對類的一部分行為進行抽象以外,也常用於對「物件的形狀(Shape)」進行描述。

interfacePerson{

name:string;

age?:number;

}

letlolo:Person={

name:"lolo"

}

5.&運算子:可以將現有的多種型別疊加到一起成為一種型別,它包含了所需的所有型別的特性。

typePartialPointX={x:number;};

typePoint=PartialPointX&{y:number;};

letpoint:Point={

x:1,

y:1

}

6.|分隔符:在 TypeScript 中聯合型別(Union Types)表示取值可以為多種型別中的一種,聯合型別使用|分隔每個型別。聯合型別通常與null

undefined一起使用:

constsayHello=(name:string|undefined)=>{/*...*/};