zoukankan      html  css  js  c++  java
  • [ES6] Object.assign (with defaults value object)

    function spinner(target, options = {}){
    
      let defaults = {
        message: "Please wait",
        spinningSpeed: 5,
        cssClass: ".is-spinning"
      };
    
      let settings = Object.assign(
        {},
        defaults,
        options
      );
    
      if(settings.spinningSpeed !== defaults.spinningSpeed){
        settings.cssClass = _addSpeedClass(target);
      }
    
      _renderSpinner(target, settings);
    }
    • Best pratices to write defaults as an objects, much clean and reuseable.
    • Write an empty object {} to the object.assign is recommened, it avoid defaults been mutated.
    • in if block, you see we might still use default value, so it is important to keep the origin defautls value.

    Example2:

    function spinner(target, options = {}) {
      let defaults = {
        message: "Please wait",
        spinningSpeed: 5,
        cssClass: ".is-spinning"
      };
    
      let settings = Object.assign({} , defaults , options);
    
      console.log(`Message: ${settings.message}`);
      console.log(`spinningSpeed: ${settings.spinningSpeed}`);
      console.log(`cssClass: ${settings.cssClass}`);
    }
    
    spinner(targetElement, {
      cssClass: ".is-fast-spinning", 
      spinningSpeed: 8 
    });
  • 相关阅读:
    十九:数字排重
    十八:十六进制转八进制
    Dubbo Notes
    Concurrent Package
    MySQL(8.0)官方文档阅读笔记
    MyBatis笔记
    分布式事务
    RabbitMQ笔记
    Kafka官方文档阅读笔记
    Cassandra Note
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5096746.html
Copyright © 2011-2022 走看看