mapの型の当て方のメモ。

作成:2023/09/24
更新:2023/09/24

うっかりObjectの型にないKeyをTypoで追加してしまった。

まず型

type abcType = {
    a: number;
    b: number;
    c: number;
};


ベース

const abc: abcType [] = [
    { a: 111, b: 222, c: 333 },
    { a: 111, b: 222, c: 333 },
];

// error 当然でる
//abc[0].d = 444;


ミスったコード

// error出ない。ただ新しい配列作ってるだけ。
const abcd = abc.map((value) => ({ ...value, d: 444 }));

// error出ない!
const abcd: abcType [] = abc.map((value) => ({ ...value, d: 444 }));


Fix

// error でる
const abcd = abc.map((value): abcType => ({ ...value, d: 444 }));


反省

map回すときに返すオブジェクトの型をつけてなかった。
毎回つけよう!