rub*_*buc 7 javascript autovivification
自动生成只与"derefencing"未定义的结构有关,因为在JavaScript中,如果指定索引或不存在的属性,它是否会动态创建它?但这不是自动生成,因为你必须声明底层结构首先是一个对象或一个数组?
gil*_*ly3 14
命名空间是JavaScript中可能很方便自动化的一个领域.目前要"命名空间"一个对象,你必须这样做:
var foo = { bar: { baz: {} } };
foo.bar.baz.myValue = 1;
Run Code Online (Sandbox Code Playgroud)
如果JavaScript支持自动生成,则不需要第一行.在JavaScript中向对象添加任意属性的能力是由于它是一种动态语言,但不是很自动化.
ES6 Proxy可用于实现自动修复,
var tree = () => new Proxy({}, { get: (target, name) => name in target ? target[name] : target[name] = tree() });
Run Code Online (Sandbox Code Playgroud)
测试:
var t = tree();
t.bar.baz.myValue = 1;
t.bar.baz.myValue
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1677 次 |
| 最近记录: |