题解 | #Proxy拦截器#

Proxy拦截器

http://www.nowcoder.com/practice/bd313bf21dc342a981f6ed87e21308b7

32_Proxy拦截器

本题考点:Proxy、ES6[...]扩展字符、arguments

根据题目要求,给对象参数的某些属性设置禁止拦截器功能,核心步骤有:

  1. 通过[...prototypes]获取从第二个参数开始往后的所有参数
  2. 创建一个Proxy实例并且返回,该构造函数接收两个参数,第一个参数是被代理的对象,第二个参数是处理方法
  3. 在处理方法中设置“get”计算方法,该方法接收两个参数,第一个参数是被代理的对象,第二个参数是当前“get”读取的属性
  4. 当获取某个实例属性时,如果这个属性在[...prototypes]数组中,则返回”noright“

参考答案

const _proxy = (object,...prototypes) => {
    let privatePrototype = prototypes
    return new Proxy(object, {
        get(object, prototype) {
            if(privatePrototype.includes(prototype)) return 'noright'
            return object[prototype]
        }
    })
}

全部评论

相关推荐

运营你豪哥:简历改改吧-非本、求职意向技术岗、无实习经历、内容空洞 如果简历不爆改的话,应该是会持续崩溃了 1.把你教育经历放最下面去 2.蓝底照片很奇怪哈,感觉还在高中时代,建议白底重新拍一下 3.校园经历没啥必要,收集和反馈同学们对产品的意见,解决学生和老师之间的沟通,企业招聘不看这些哈 好好思考一下简历的设计和你要表达的重点,再去投简历
点赞 评论 收藏
分享
点赞 评论 收藏
分享
秋招不是要开始了吗,我都打算润了,看大家还在找不敢润了
一条从:因为不是人人都像佬一样有实习像我们这种二本仔秋招没有实习也是白忙活
点赞 评论 收藏
分享
评论
10
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务