1
interface SkillProperty {
    [name: string] : number 
};

let skills: SkillProperty;

skills = {}; // ok

skills = { fire: 123 }; // ok

skills = {
    ...skills, // ok
    ...{}, // ok
    ...extraSkills() // {} | { ice: number } is not assignable to type 'SkillProperty'.
}

function extraSkills() {
    if (whatever) {
        return {};
    }
    return { ice: 321 };
}

SkillPropertyインターフェースを変更して、空のオブジェクトと実際の SkillProperty タイプの両方に準拠させるにはどうすればよいですか?

4

1 に答える 1