我有一个原始对象,我想将其映射/分配给Typescript的类型化对象。当我进行分配时,它与对象类型不同,例如
interface TokenModel {
username: string;
password: string;
}
const obj = {
usernam1: 'ali@mailinator.com',
password: 'admin',
extraProp: 'abc123'
};
const model: TokenModel = <TokenModel><any>obj;
即使我正在转换原始对象并将其分配给类型化对象,model
的值也与分配的值相同:
{
usernam1: 'ali@mailinator.com',
password: 'admin',
extraProp: 'abc123'
}
它是否应该具有这样的值:
{
username: null,
password: 'admin'
}
答案 0 :(得分:2)
您实际上并没有将其“强制转换”为类型,而是告诉编译器对象应该具有这些值。不会自动将null / undefined值分配给字段。
编辑:
回答评论中的问题
const model: TokenModel = {
username: obj.usernam1,
password: obj.password
}