gpt4 book ai didi

typescript :检查对象键和值是否适合当前类属性

转载 作者:搜寻专家 更新时间:2023-10-30 22:06:41 27 4
gpt4 key购买 nike

我需要检查对象键和值是否适合当前类属性。
我有类实例和单独对象中的更改,然后我调用 Object.assign 来修改属性。有什么方法可以检查对象键和值对某个类是否有效?

class MyClass {
icon = 'home'
size = 12
color = 'blue'
}

var instance = new MyClass()

var changeProperties: MyClass = { size: 10 }
// throws Property 'icon' is missing in type { size: number; }

Object.assign(instance, changeProperties)

现在出现未定义属性的错误(缺少属性图标)。

我试过 var changeProperties: { [string: keyof MyClass]: any } = { size: true } 但没有成功。

注意:我无法更改类本身(例如,将类属性设为可选)。

最佳答案

我在 lib.es6.d.ts 中找到了答案

/**
* Make all properties in T optional
*/
type Partial<T> = {
[P in keyof T]?: T[P];
};

所以答案是:

class MyClass {
icon = 'home'
size = 12
color = 'blue'
}

var instance = new MyClass()

var changeProperties: Partial<MyClass> = { size: 10 }

Object.assign(instance, changeProperties)

关于 typescript :检查对象键和值是否适合当前类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44045838/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com