• npm包之merge-descriptors


    前言

    merge-descriptors用于继承其它对象的属性和属性描述符。

    语法

    mixin(dest, src, redefine);

    • a 被继承者

    • b 继承者

    • true 当继承者存在继承的属性时,是否继续继承 (默认继承 ture)

    • 返回继承后的对象 b (函数执行后b对象已经被重新赋值,可以不使用返回的对象)

    • 附录(文档描述)

    /**
     * Merge the property descriptors of `src` into `dest`
     *
     * @param {object} dest Object to add descriptors to
     * @param {object} src Object to clone descriptors from
     * @param {boolean} [redefine=true] Redefine `dest` properties with `src` properties
     * @returns {object} Reference to dest
     * @public
     */
    
    function merge(dest, src, redefine) {
        ...
    }
    

    示例

    const mixin = require('merge-descriptors');
    
    let a = {};
    Object.defineProperty(a, 'name', {
        value:1,
        configurable: true,
        enumerable: true,
        writable: true,
    });
    console.log(a);
    
    let b = {
        name: 'xpengp'
    };
    // let c = {};
    // mixin(b, a, false);
    
    let c = mixin(b, a, false);
    
    mixin(b, a, false);
    
    console.log(a, b, c);
    
    a.name = 2;
    console.log(a, b, c);
    
    b.name = 3;
    console.log(a, b, c);
    
    c.name = 4;
    console.log(a, b, c);
    

    总结

    1. 一般搭配Object.defineProperty()设置属性的对象;
    2. 主要用于合并对象的描述符;
    3. 可以和Object.assign()方法去比较;
  • 相关阅读:
    Django的models介绍
    Django的模板继承
    Django的模板语言介绍
    django的视图函数介绍
    django的流程分析
    1、数据库优化
    git 开发中的总结
    ob
    docker-compose
    如何批量删除Docker中已经停止的容器
  • 原文地址:https://www.cnblogs.com/xpengp/p/12795562.html
Copyright © 2020-2023  润新知