首页 > 自考资讯 > 高考百科

1分钟搞懂什么是 JS 代理对象(proxies)(js数据代理)

小条 2024-09-30

今天我们就花点时间快速了解一下什么是JS代理对象(proxy)。这样理解的话,JS代理就相当于在一个对象的外层添加了一层拦截,让你可以在对象定义之后通过它的方法来间接操作该对象。由代理定义。更简单地说,在我们的生活中,我们买房或者租房子的时候,通常不会先找中介,而不是房东。这是因为经纪人充当财产的代理人。

接下来通过代码了解什么是代理。使用JS创建代理相对容易,如下代码所示。

letInitialObject={ /* 定义对象*/};let handler={ /* 自定义相关拦截器处理逻辑*/};let proxyedObject=new Proxy(initialObject, handler); 总之,执行一次代理调用。处理程序中定义的用于操作对象的逻辑。对象代理有两个参数。 initialObject 是目标对象,handler 是拦截器对象(或处理器对象)。

接下来我们看一个例子。如果对象的属性不存在,则重写原始对象的get 方法。代理人。

let Dog={ name: 'Spike'};const handler={ get: (obj, property)=obj 的属性? obj[property] : '没有名为+ property 的属性;}const proxyDog=new proxy (dog, handler);console .log(proxyDog.name);//Spikeconsole.log(proxyDog.age);//未定义名为age 的输出属性。 在上面的例子中,我们通过get: ( obj , property)=. 方法覆盖对象的get 方法。

最后,我们将了解如何通过代理更新对象的值。如果更新后的值不是预期值,系统会抛出异常错误,无法更新成功。否则,通过重新分配值来更新属性。的对象。

let Dog={ name: 'Spike',age: 1;};let handler={ set: (obj, property, value)={ if (property==='age') { if (!Number.isInteger(value)) throw new TypeError('仅使用数字表示年龄'); if ((value 0) || (value 30)) throw new RangeError('狗活不了那么久'); } };const proxyDog=new Proxy(dog, handler);proxyDog.age=-1;//抛出狗无法生存longproxyDog.age='very old';//只抛出通过JS 代理的数字。你不仅可以重写getter和setter方法,还可以执行deleteProperty、construct、getOwnPropertyDescriptor等操作。

这就是今天文章的全部内容。你了解代理对象吗?下一篇文章将介绍如何在实际项目中使用代理。

来源:http://www.js-craft.io/blog/what-are-javascript-proxies/

丹尼尔

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢

  • 1分钟搞懂什么是 JS 代理对象(proxies)(js数据代理)

    1分钟搞懂什么是 JS 代理对象(proxies)(js数据代理)

    今天我们将尝试下花 1 分钟的时间简单地了解下什么是 JS 代理对象(proxies)?我们可以这样

    来源:中国自考网 2024-09-30
  • 安徽省最大中职学校排名 太原中职学校排名

    安徽省最大中职学校排名 太原中职学校排名

    小编给大家带来了安徽省最大中职学校排名 太原中职学校排名相关文章,一起来看一下吧。 阜阳市公办中职学校排名前三的是阜阳经贸旅游学校

    来源:中国自考网 2024-09-30
  • 如何去到郑州市铁路卫校

    如何去到郑州市铁路卫校

    2020年郑州市卫校大专分数线是:350分。 郑州卫生学校是由 郑州市人民* 举办和管理、 河南省人民* 批准成立、国家教育部备案的

    来源:中国自考网 2024-09-30
  • 什么时候能知道是否被福大本一录取

    什么时候能知道是否被福大本一录取

    小编给大家带来了什么时候能知道是否被福大本一录取相关文章,一起来看一下吧。本文目录一览:1、跪求09年第一时间的集大诚毅,福师大协和,福农

    来源:中国自考网 2024-09-30
  • 安徽新华学院开设了哪些专业 专业代码是多少

    安徽新华学院开设了哪些专业 专业代码是多少

    今天小编整理了安徽新华学院开设了哪些专业 专业代码是多少相关内容,希望能帮助到大家,一起来看下吧。本文目录一览:安徽新华学院开设专业有

    来源:中国自考网 2024-09-30
  • 南通市如东县掘港镇有没有卫校?具体地址在哪里?

    南通市如东县掘港镇有没有卫校?具体地址在哪里?

    今天小编整理了南通市如东县掘港镇有没有卫校?具体地址在哪里?相关信息,希望在这方面能够更好帮助到大家。本文目录一览:1、南通市如东县掘港

    来源:中国自考网 2024-09-30
  • 焦作师范高等专科学校开设了哪些专业 专业代码是多少

    焦作师范高等专科学校开设了哪些专业 专业代码是多少

    今天小编整理了焦作师范高等专科学校开设了哪些专业 专业代码是多少相关信息,希望在这方面能够更好的大家。本文目录一览:焦作师范高等专科

    来源:中国自考网 2024-09-30
  • 大学里的专业有哪些?就业方向是什么?

    大学里的专业有哪些?就业方向是什么?

    今天小编整理了大学里的专业有哪些?就业方向是什么?相关内容,希望能帮助到大家,一起来看下吧。 大学里的专业非常丰富多样,涵盖了各个领域。

    来源:中国自考网 2024-09-30
  • 学消防专业后具体要做些什么??

    学消防专业后具体要做些什么??

    学消防专业后具体要做些什么??很多朋友对这方面很关心,整理了相关文章,供大家参考,一起来看一下吧!本文目录一览:1、学消防专业后具体要做些什么??2

    来源:中国自考网 2024-09-30
  • 中职升本多少分能考上沈阳大学会计专业

    中职升本多少分能考上沈阳大学会计专业

    今天小编整理了中职升本多少分能考上沈阳大学会计专业相关内容,希望能帮助到大家,一起来看下吧。本文目录一览:1、中职升本多少分能考上沈阳

    来源:中国自考网 2024-09-30