是否可以在JavaScript中代理对属性的调用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以在JavaScript中代理对属性的调用?相关的知识,希望对你有一定的参考价值。

我想在javascript中将count属性添加到字符串中,从而在内部调用length属性。我不想将其添加为功能。怎么做?

"abc".count;  // 3
答案

您可以尝试执行此操作:

Object.defineProperty(String.prototype, 'count', 
    get: function()  return this.length; 
);

"abc".count // 3

但是我建议您避免扩展JS中的现有对象。

以上是关于是否可以在JavaScript中代理对属性的调用?的主要内容,如果未能解决你的问题,请参考以下文章

javascript中对象的属性的特性

《javascript高级程序设计》学习笔记 | 9.2.代理捕获器与反射方法

《JavaScript设计模式与开发实践》—— 代理模式

5-反射和代理模式

代理键作为维度的属性

kotlin的哪个功能可以替代通过Java代理进行的方法拦截