开发时常遇到一些通过字符串表示属性值的场景。
如:
let a={a:1,b:2}
let b={c:3,d:4}
for (let key in b) {
const val = b[key];
a.key=val;
}
console.log(JSON.stringify(a));
输出为
正确写法:
let a={a:1,b:2}
let b={c:3,d:4}
for (let key in b) {
const val = b[key];
a[key]=val;
}
console.log(JSON.stringify(a));
输出为
补充:对于字符串编辑的写法
c+=`${key}:${val};`;等价于c+=key+":"+val+";";
两者输出结果均为"c:3;d:4;"
理解是使用``包裹起来的默认是字符串,需要用到值的地方使用${}拿取就可以了,但是#{}是不可以的。