中国优质的IT技术网站
专业IT技术创作平台
IT职业在线教育平台
ets文件,合并两个Record记录,报错It is possible to spread only arrays or classes derived from arrays into the rest parameter or array literals (ArkTS-no-spread)
type MyRecord = Record<string, number>; const record1: MyRecord = { 'a': 1, 'b': 2, }; const record2: MyRecord = { 'b': 3, // 注意这里将覆盖record1中的'b' 'c': 4, }; const mergedRecord: MyRecord = { ...record1, ...record2, };
微信扫码分享
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 constructor(v1: number, v2: number) { this.b = v1; this.c = v2; } } const target: Record<string, Object> = { "a": 1, "b": 2, } const source: D = new D(4, 5) const returnedTarget: Record<string, Object> = assign(target, source) console.log(JSON.stringify(target))