Typescript 我可以用类映射简单对象的换行吗?

Typescript 我可以用类映射简单对象的换行吗?,typescript,Typescript,我希望将一个对象映射到一个类,也许我的技术措辞是错误的,所以我将尝试举例说明 var car = {wheels:4, color:"red", maxSpeed: 100} class Car(){ wheels: number; color: string; maxSpeed: number } let wrappedCar = new Car(**car) console.log(wrappedCar.wheels) // 4 在Typescript中实现这一

我希望将一个对象映射到一个类,也许我的技术措辞是错误的,所以我将尝试举例说明

var car = {wheels:4, color:"red", maxSpeed: 100}

class Car(){
    wheels: number;
    color: string;
    maxSpeed: number
}

let wrappedCar = new Car(**car)
console.log(wrappedCar.wheels)
// 4

在Typescript中实现这一点的最佳方法是什么?:)

这对你合适吗

var car = { wheels: 4, color: "red", maxSpeed: 100 }

class Car {
    wheels: number;
    color: string;
    maxSpeed: number
}

let wrappedCar = <Car> car
console.log(wrappedCar.wheels)

如果您只需要描述对象结构,则可以使用界面

应该是这样的

接口车{
轮子:数量;
颜色:字符串;
maxSpeed:数字
}
你以后可以正常使用它

出租汽车:汽车={
车轮:4,
颜色:“红色”,
最高速度:100
}
编译器还将自动识别对象是否实现了该接口。所以你可以用它来描述你希望在你的方法中得到什么

功能清洗车(车:车):无效{
洗车({
车轮:10,
颜色:“红色”,
最高速度:100
}); // 行得通
洗车({
姓名:'约翰',
年龄:5
}); // 将生成编译错误

谢谢你的回答!这叫做类型转换吗?您认为在执行强制转换时可以运行一些代码吗?是的,这是类型强制转换,但请记住,它不会有任何您在类中定义的、不在objectAh中的其他内容,这意味着函数也将丢失!我做对了吗?是的,我使用构造函数添加了一个选项。这将起作用,但为什么要创建两个对象?只需使用签名
构造函数(轮子、颜色、最大速度)
var car = { wheels: 4, color: "red", maxSpeed: 100 }

class Car {
    wheels: number;
    color: string;
    maxSpeed: number

    constructor(carObj) {
        for (var a in carObj) { this[a] = carObj[a] }
    }
}

let wrappedCar = new Car(car)
console.log(wrappedCar.wheels)