金华IT培训
美国上市IT培训机构

4008270010

热门课程

JS 中可以提升幸福度的小技巧5

  • 时间:2019-01-09 10:34
  • 发布:转载
  • 来源:网络

本文主要介绍一些JS中用到的小技巧,可以在日常Coding中提升幸福度,将不定期更新~

对象

1 使用解构删除不必要属性

有时候你不希望保留某些对象属性,也许是因为它们包含敏感信息或仅仅是太大了(just too big)。你可能会枚举整个对象然后删除它们,但实际上只需要简单的将这些无用属性赋值给变量,然后把想要保留的有用部分作为剩余参数就可以了。

下面的代码里,我们希望删除_internaltooBig参数。我们可以把它们赋值给internaltooBig变量,然后在cleanObject中存储剩下的属性以备后用。

let {_internal, tooBig, ...cleanObject} = {el1'1', _internal:"secret", tooBig:{}, el2'2', el3:'3'};

console.log(cleanObject);                         // {el1: '1', el2: '2', el3: '3'}

2 在函数参数中解构嵌套对象

在下面的代码中,engine是对象car中嵌套的一个对象。如果我们对enginevin属性感兴趣,使用解构赋值可以很轻松地得到它。

var car = {

  model'bmw 2018',

  engine{

    v6true,

    turbotrue,

    vin12345

  }

}

const modelAndVIN = ({model, engine{vin}}) => {

  console.log(`model${model} vin${vin}`);

}

modelAndVIN(car); // => model: bmw 2018  vin: 12345

代码复用

1 Object [key]

虽然将 foo.bar 写成 foo ['bar'] 是一种常见的做法,但是这种做法构成了编写可重用代码的基础。许多框架使用了这种方法,比如element的表单验证。

请考虑下面这个验证函数的简化示例:

function validate(values) {

  if(!values.first)

    return false;

  if(!values.last)

    return false;

  return true;

}

console.log(validate({first:'Bruce',last:'Wayne'})); // true

上面的函数完美的完成验证工作。但是当有很多表单,则需要应用验证,此时会有不同的字段和规则。如果可以构建一个在运行时配置的通用验证函数,会是一个好选择。

// object validation rules

const schema = {

  first{

    required:true

  },

  last{

    required:true

  }

}

// universal validation function

const validate = (schema, values) => {

  for(field in schema) {

    if(schema[field].required) {

      if(!values[field]) {

        return false;

      }

    }

  }

  return true;

}

console.log(validate(schema, {first:'Bruce'})); // false

console.log(validate(schema, {first:'Bruce',last:'Wayne'})); // true

现在有了这个验证函数,我们就可以在所有窗体中重用,而无需为每个窗体编写自定义验证函数。

网上的帖子大多深浅不一,甚至有些前后矛盾,达内的文章都是学习过程中的总结,如果发现错误,欢迎留言指出~

预约申请免费试听课

怕钱不够?就业挣钱后再付学费!    怕学不会?从入学起,达内定制课程!     担心就业?达内多家实践企业供你挑选!

上一篇:JS 中可以提升幸福度的小技巧4
下一篇:达内分享初学者可能不知道的 vue.js技巧一

达内分享初学者可能不知道的 vue.js技巧一

JS 中可以提升幸福度的小技巧5

JS 中可以提升幸福度的小技巧4

JS 中可以提升幸福度的小技巧3

选择城市和中心
贵州省

广西省

海南省