wangxingkang / website

阿康的个人站
https://xingkang.wang
3 stars 0 forks source link

TypeScript问题记录 #4

Open wangxingkang opened 4 years ago

wangxingkang commented 4 years ago

如何定义指定Key的对象类型

export type T = 
  'key1' | 
  'key2' |
  'key3';

export type Bar = {
  [key in T]: string;
};

相关参考

wangxingkang commented 4 years ago

?. 的使用

TypeScript 3.7版本才可使用

使用场景当不确定值为 null 或 undefined 的时候,可以使用 ?.

例如:

let x = foo?.bar.baz();

// 相当于
let x = (foo === null || foo === undefined) 
   ? undefined 
   : foo.bar.baz();
wangxingkang commented 4 years ago

?? 的使用

TypeScript 3.7版本才可使用

使用场景: 要给一个值默认值的时候可使用,主要替换let a = b || 'aa';

例如:

let x = foo ?? bar();

let x = (foo !== null && foo !== undefined)
  ? foo 
  : bar();