ArkTS不支持解构及assign,怎么给对象赋值?

interface A { 
    a:string = ‘’ 
    b:number = 0 
    c:Object = 
} 
let test1:A = {} 
let test2:A= {}

怎么将test1赋值给test2

HarmonyOS
2024-05-30 22:06:10
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
mzshj

可以封装一个assign方法

原方法:

function assign<T, U>(target: T, source: U): T & U; 
const target = { a: 1, b: 2 }; 
const source = { b: 4, c: 5 }; 
const returnedTarget = Object.assign(target, source); 
console.log(target); 
// Expected output: Object { a: 1, b: 4, c: 5 }

自己实现:

function assign(target: Record<string, Object>, …source: Object[]): Record<string, Object> { 
    for (let s of source) { 
        for (let k of Object.keys(s)) { 
            target[k] = Reflect.get(s, k) 
        } 
    } 
    return target 
} 
class D {b: number, c: number} 
const target: Record<string, Object> = { “a”: 1, “b”: 2, } 
const source: D = { b: 4, c: 5 } 
const returnedTarget: Record<string, Object> = Object.assign(target, source) 
console.log(target) 
// Expected output: Object { a: 1, b: 4, c: 5 }
分享
微博
QQ
微信
回复
2024-05-31 21:24:04
相关问题
如何实现解构Obejct.assign
929浏览 • 1回复 待解决
arkts不支持bigint数据类型
2050浏览 • 1回复 待解决
为什么FA模型不支持进程内对象共享
2042浏览 • 1回复 待解决
for .in 语法不支持,该怎么办啊?
784浏览 • 1回复 待解决
ArkTs怎么传递对象或者类Native
2360浏览 • 1回复 待解决
web组件不支持localstorage
815浏览 • 1回复 待解决
http类不支持cancel方法
188浏览 • 1回复 待解决
ArkTS不支持使用第三方的js库?
4258浏览 • 1回复 待解决
API 9 是否不支持 npm 了?
2753浏览 • 1回复 待解决
Refresh组件不支持设置nestedScroll属性
1946浏览 • 1回复 待解决
HarmonyOS Object不支持 ... 展开符吗?
264浏览 • 1回复 待解决