微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Javascript 装饰对象

如何解决Javascript 装饰对象

我一直在使用以下方法来装饰我的 javascript 对象,但它有一个限制,我想知道是否可以就如何最好地处理它获得一些建议。

现在,我有以下内容

export const ItemValidationDecorator = () => {

    const decorate = (entity) => {

        let _entity = {
            ...entity,...{
                getSelected: () => {
                    return entity.selected;
                },hasSelected: () => {
                    return entity.selected != null;
                }
            }
        }
        return _entity;

    }

    return {decorate}
}


//I call it from varIoUs places in my application
const _obj = decorate(response.data);

我通常传入一个从 API 调用返回的 JSON 对象,以添加一些方便的方法,以便它们在整个应用程序中可用。挑战在于,这些装饰方法(getSelected、hasSelected)中的每一个都不知道彼此,所以我无法做类似的事情;

getSelected: () => {
    if (entity.hasSelected()) {
       return entity.selected;
    }

    return 'Some useful error code,or other logic';
}

我正在寻找一种方法,让这些方法以某种方式相互了解。这个逻辑有没有模式,或者有不同的方式来实现类似的东西?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?