,titleTwo(如果没有找到会返回undefined)
数组解构的原理其实是消耗数组的迭代器,把生成对象的value属性的值赋值给对应的变量
数组解构的一个用途是交换变量,避免以前要声明一个临时变量值存储值...... in会返回数组中所有可枚举的属性(包括原型链),for ... of只返回数组的下标对于的属性值
for ... of循环的原理其实也是利用了遍历对象内部的iterator接口,将for .....arr数组每次使用for ... of循环都返回一对象({a:1},{a:2},{a:3}),然后会经过对象解构,寻找属性为a的值,赋值给obj.a,所以在每轮循环的时候obj.a会分别赋值为1,2,3...关键字生成一个拦截对象的实例,ES6提供了非常多对象拦截的操作,几乎覆盖了所有可能修改目标对象的情况(Proxy一般和Reflect配套使用,前者拦截对象,后者返回拦截的结果,Proxy上有的的拦截方法...所存在的一些局限,如: 对属性的添加、删除动作的监测 对数组基于下标的修改、对于 .length 修改的监测 对 Map、Set、WeakMap 和 WeakSet 的支持
Proxy就没有这个问题,