【发布时间】:2019-11-17 07:41:47
【问题描述】:
服务器返回一个用户对象作为响应
{
name: "some_name",
age: 30
}
我将为 User 对象创建一个类,但该类还有其他属性,我只在客户端需要这些属性
class User {
public color: string = "red"
constructor(public name: string, public age: number) {}
}
我只会在客户端使用颜色属性。
现在客户端和服务器的用户类型不同了。
如果我想在请求方法中将没有颜色属性的用户 obj 发送回服务器
- 我应该从用户创建一个新的类对象吗?
class UserRequest {
constructor(public name: string, public age: number) {}
}
let userRequest = new UserRequest(user.name, user.age);
- 只创建没有类型的新对象?
let userRequest = {
name: user.name,
age: user.age
}
这里我只有2个属性,如果我有更多,这可行吗?
假设如果我必须发送一个用户列表,那么迭代所有用户对象创建一个新对象将增加复杂性。
当类型不同时,最好的方法是什么?
【问题讨论】:
-
你可以键入东西而不需要构造一个对象,只需要创建一个UserRequest接口。
标签: javascript angular typescript casting typescript-typings