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 
    });
  • 相关阅读:
    安装vim
    linux输入法
    freemarker 超出字符用省略号表示
    三维数组去重
    php 相同的产品 一个背景色
    php 判断白天黑夜
    PHP-preg_replace过滤字符串代码
    checkbox 更新回显
    php socket编程入门
    命令行执行php
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5096746.html
Copyright © 2011-2022 走看看