今天的码农女孩总结了ES6的继承扩展和Proxy 拦截器的笔记

继承扩展
通过class声明的对象,用extends关键字进行继承
   class Father{
            sing(){
                console.log("唱京剧")
            }
        }
        class Son extends Father{

        }
        var s=new Son()
        s,sing()
super关键字调用父类构造器,作为函数来用
       class Father{
            constructor(name){
                this.name=name
            }
            
        }
        class Son extends Father{
            constructor(name,age){
                super(name)//必须先调用父类
                this.age=age
            }
        }
        var s=new Son("小明",12)
        console.log(s.name+","+s.age)
注意:当super作为函数式,只能在构造器里调用
super作为关键字来用,当做对象使用
         class Father{}
         Father.prototype.sex="男"
         class Son extends Father{
            sing(){
                // super()//不能在其他函数调用父类构造器
                return super.sex//输出的性别只能调用原型上的,非构造器里的
            }
        }
        var s=new Son("小明",12)
        var v=s.sing()//输出父类的
        console.log(s.name+","+s.age)
        console.log(v)
Proxy 拦截器
用于修改某些操作的默认行为,称为对象的一个拦截器,访问对象时必须先通过这个拦截层,在拦截层里做限定和修改
定义方式
        var p=new Proxy({},{
            get:function(){
                return "你无权访问"
            }
        })
        console.log(p.name)//无权访问
        console.log(p.age)//无权访问
get下的参数值 第一个为目标对象,第二个为当前访问属性
        var obj={name:"lisi"}
        var p=new Proxy(obj,{
            get:function(tag,prop){
                if(prop=="age"){
                    return "你无权访问"
                }
                else{
                    return tag[prop]
                }
            }
        })
        console.log(p.name)
        console.log(p.age)
属性和方法
get(对象,属性)在获取时拦截
set(对象,属性)在修改时拦截
has(对象,属性)在判断属性时拦截
deleteProperty在通过delete关键字删除时拦截
ownkey(对象)在调用getOwnProertyNames()方法时拦截
defineProperty(对象,属性)在调用defineProperty方法时拦截
apply(属性,对象,数组)在调用apply时拦截
setPrototypeOf(对象,原型)调用setPrototypeOf时拦截
getPrototypeOf(对象)调用getPrototypeOf时拦截

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值