你不知道的 JS 代码小技巧

总结了一些开发常用的 JS 小技巧,让你的代码更优雅!

1. 通过条件判断给变量赋布尔值

先来看一段代码:

handleFormChange(e) {
  let isUpload;
  if (e.target.value === 'upload') {
    isUpload = true;
  } else {
    isUpload = false;
  }
}

在项目中很多同事都会这样写,但实际上 ===== 的表达式可以直接给变量赋值:

handleFormChange(e) {
  let isUpload = (e.target.value === 'upload');
}

如果要取反也很简单:

handleFormChange(e) {
  let isManual = (e.target.value !== 'upload');
}

2. 有条件地向对象添加属性

可以使用展开运算符来有条件地向对象中添加属性:

const condition = true;
const person = {
  id: 1,
  name: 'John Doe',
  ...(condition && { age: 16 }),
};

如果 conditiontrue ,则 { age: 16 } 会被添加到对象中;如果 conditionfalse ,相当于展开 false ,不会对对象产生任何影响

3. 有条件地向数组添加元素

这是 CRA 中 Webpack 配置的源码:

{
  plugins: [
    new HtmlWebpackPlugin(),
    isEnvProduction &&
      new MiniCssExtractPlugin(),
    useTypeScript &&
      new ForkTsCheckerWebpackPlugin(),
  ].filter(Boolean),
}

上面代码中,只有 isEnvProductiontrue 才会添加 MiniCssExtractPlugin 插件;当 isEnvProductionfalse 则会添加 false 到数组中,所以最后使用了 filter 过滤

参考

我的代码简洁之道

你会用ES6,那倒是用啊!

有个开发者总结这 15 优雅的 JavaScript 个技巧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值