TypeScriptのよく使うけどよく忘れるやつのメモ

5180 ワード

この記事は?

自分がよく使うけど毎回忘れて調べているやつのメモです。
順次追加していきます

オブジェクトを作るときNull, undefinedな値をキーごと除く

const a = 1
const b = 'Hello World!!'
const c: string | null = null

const good = {
  a, b,
  ...(c && { c }),
}
/**
 * {
 *    a: 1,
 *    b: 'Hello World!!',
 * }
*/
const notGood = {a, b, c} 
/**
 * {
 *    a: 1,
 *    b: 'Hello World!!',
 *    c: null,
 * }
*/

Array.prototype.filterで特定の型だけを残す

const result = ['a', 'b', 'c', undefined, null]
  .filter(
    (item): item is Extract<typeof item, string> => typeof item === 'string'
  )

Object.keysに型をつける

const engineer = {
  name: 'hogehoge',
  age: 20,
  profile: 'hello world',
  skillSets: ['Typescript', 'React']
};

const result2 = (Object.keys(engineer) as (keyof typeof engineer)[])