Proxy实现加法拦截
题目描述
请实现以下编程结果
1 | const result1 = add[1][2]+3 // 6 |
解答
该题是记录了属性之和,考虑使用Proxy解答,其能捕获捕获或者拦截到[[get]]操作。
但要注意的是,通过+号两侧,左侧是对象右侧是数字,会涉及到隐式转换。对象需要调用Primitive方法转为原始类型才能和数字相加,这时访问的属性为Symbol.toPrimitive
。
1 | const obj ={sum:0}; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 程序员零塔的小破站!
评论