根据不同的场景,常用的有两种方案
1. 如果单纯判断属性存在才能赋值,可以用楼上提供的 "可选链" 这种方案if (a?.b?.c?.d?.e) {
a.b.c.d.e="hello";
}
2. 如果不存在的情况也要创建并赋值,可以用 "lodash" 的 "set" 函数import _ from 'lodash-es';
_.set(a, 'b.c.d.e', 'hello')
"https://www.lodashjs.com/docs/lodash.set#_setobject-path-value" (https://link.segmentfault.com/?enc=0cuUCgMHwYlrUUSavI1t8g%3D%3D.G2akqoPij88546kSF3OuPp0BH4DP0W612WvI%2FjZljInA%2B%2FCuEREA1Y8ODop64kggXQJ70u3pcBB7JJD9V9KQ7w%3D%3D)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/8f4ed81edaad4cb14fde83a2f5d1a0ef.png)