Proxy 基础用法

Posted jwzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Proxy 基础用法相关的知识,希望对你有一定的参考价值。

// Proxy 基础用法
const person = {
    name:‘laravist‘,
    age:2000
}
const personProxy = new Proxy(person,{
    get(target,key){
        return target[key].toUpperCase();
    },
    set(target,key,value){
        target[key] = value.trim();
    }
});
personProxy.name = ‘Leo‘;

 

// Proxy 格式化电话号码
const phonerHandler = {
    set(target,key,value){
        target[key] = value.match(/[0-9]/g).join(‘‘);
    },
    get(target,key){
        return target[key].replace(/(d{3})(d{4})(d{4})/,‘$1-$2-$3‘)
    }
}
const phoneNumber = new Proxy({},phonerHandler);

 

 

// Proxy 排查是否有了类似的属性,如:id -- ID,则报错
const safeHandler = {
    set(target,key,value){
        console.log(‘223‘,target)
        const likeKey = Object.keys(target).find(k => k.toLowerCase() === key.toLowerCase());
        if(!(key in target) && likeKey){
            throw new Error(`safetyProxy有了类似的属性${key} --- ${likeKey}`)
        }else{
            console.log(111)
        }

        target[key] = value;
    }
}
const safetyProxy = new Proxy({ id : 2 }, safeHandler);
safetyProxy.ID = 6
console.log(safetyProxy)

 

……

以上是关于Proxy 基础用法的主要内容,如果未能解决你的问题,请参考以下文章

jQuery.proxy() 函数详解

SQL Select 语句的用法

Nginx proxy pass简单用法、负载均衡

Java 基础语法方法的使用

[vscode]--HTML代码片段(基础版,reactvuejquery)

线程基础四 使用Monitor类锁定资源