返回顶部
首页 > 资讯 > 前端开发 > 其他 >聊聊JavaScript条件判断的使用技巧
  • 179
分享到

聊聊JavaScript条件判断的使用技巧

JavaScript 2023-05-14 22:05:00 179人浏览 薄情痞子
摘要

本篇文章给大家带来了关于javascript的相关知识,其中主要跟大家聊一聊有关JavaScript条件判断的使用技巧,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。本文来介绍一下在 JavaScript 中如何编写更简单的条件判断,助

本篇文章给大家带来了关于javascript的相关知识,其中主要跟大家聊一聊有关JavaScript条件判断的使用技巧,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

本文来介绍一下在 JavaScript 中如何编写更简单的条件判断,助你编写更简洁的代码。源码地址

假如我们有一个颜色值转换十六进制编码的函数。

function convertToHex(color) {
  if (typeof color === 'string') {
    if (color === 'slate') {
      return '#64748b'
    } else if (color === 'gray') {
      return '#6b7280'
    } else if (color === 'red') {
      return '#ef4444'
    } else if (color === 'orange') {
      return '#f97316'
    } else if (color === 'yellow') {
      return '#eab308'
    } else if (color === 'green') {
      return '#22c55e'
    } else {
      return '#ffffff'
    }
  } else {
    return '#ffffff'
  }
}

这个函数的作用很简单,就是传入颜色字符串,然后返回对应的十六进制,如果传入的不是一个字符串,或者什么都没传递,那么返回白色的十六进制。

接下来我们就开始对这段代码进行优化

避免直接使用字符串作为条件

直接使用字符串作为条件有个问题,就是当我们拼写错误时,就会很尴尬。

convertToHex("salte")

为了避免这种错误,我们可以使用常量。

const Colors = {
	SLATE: 'slate',
  GRAY: 'gray',
  // ...
}
function convertToHex(color) {
  if (typeof color === 'string') {
    if (color === Colors.SLATE) {
      return '#64748b'
    } else if (color === Color.GRAY) {
      return '#6b7280'
    }
    // ...
  } else {
    return '#ffffff'
  }
}
convertToHex(Colors.SLATE)

如果你是用 typescript 的话,那么可以直接使用枚举。

使用 Object

其实从上面的代码中不难发现,我们可以直接把十六进制的值存储到对象的 value 中。

const Colors = {
	SLATE: '#64748b',
  GRAY: '#6b7280',
  // ...
}
function convertToHex(color) {
  if (color in Colors) {
    return Colors[color]
  } else {
    return '#ffffff'
  }
}
convertToHex(Colors.SLATE)

这样代码将会更加简洁易读。

不符合预期,提前 return

还有一个最佳实践是,我们可以把不符合预期的情况写到函数的最前面提前 return,避免忘记 return。 const Colors = { SLATE: '#64748b', GRAY: '#6b7280', // ... } function convertToHex(color) { if (!color in Colors) { return '#ffffff' } return Colors[color] } convertToHex(Colors.SLATE)

const Colors = {
	SLATE: '#64748b',
  GRAY: '#6b7280',
  // ...
}
function convertToHex(color) {
  if (!color in Colors) {
    return '#ffffff'
  }
  return Colors[color]
}
convertToHex(Colors.SLATE)

这样连 else 都不需要了。巧用这种技巧,我们可以消灭代码中大量的 else。

使用 Map 配合 Object

使用 map 更加专业,因为 map 可以存储任意类型的 key,而且它继承自 Map.prototype,具有更多方便的方法和属性。

而 Object 访问属性更加方便,我们可以继续使用 Object 实现枚举的作用。

const ColorsEnum = {
	SLATE: 'slate',
  GRAY: 'gray',
  // ...
}
const Colors = new Map()
Colors.set(ColorsEnum.SLATE, '#64748b')
Colors.set(ColorsEnum.GRAY, '#6b7280')
// ...
Colors.set('DEFAULT', '#ffffff')
function convertToHex(color) {
  if (!Colors.has(color)) {
    return Colors.get('DEFAULT')
  }
  return Colors.get(color)
}
convertToHex(Colors.SLATE)

Map 也可以存储函数

假设我们存储的颜色非常多,高达上千种,而且还要支持后端配置,通过某种运算过程才可以得到结果。

那么我们可以使用 Map 来存储函数。

return Colors.get(color)()

尽量避免三目表达式和 switch

三目表达式虽然简介,但是可读性大大降低,如果是多级条件的话,会非常难以阅读。

switch 和 if 相比没有明显优势,反而有时容易 return 导致代码不按预期执行。

以上就是JavaScript 条件判断使用技巧详解的详细内容。

以上就是聊聊JavaScript条件判断的使用技巧的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 聊聊JavaScript条件判断的使用技巧

本文链接: https://lsjlt.com/news/207090.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 聊聊JavaScript条件判断的使用技巧
    本篇文章给大家带来了关于JavaScript的相关知识,其中主要跟大家聊一聊有关JavaScript条件判断的使用技巧,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。本文来介绍一下在 JavaScript 中如何编写更简单的条件判断,助...
    99+
    2023-05-14
    JavaScript
  • JavaScript条件判断使用技巧详解
    目录引言避免直接使用字符串作为条件使用 Object不符合预期,提前 return使用 Map 配合 ObjectMap 也可以存储函数尽量避免三目表达式和 switch引言 本文花...
    99+
    2024-04-02
  • JavaScript条件判断的使用技巧有哪些
    本文小编为大家详细介绍“JavaScript条件判断的使用技巧有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript条件判断的使用技巧有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。假如我...
    99+
    2023-07-05
  • 聊聊github使用的基本的步骤和技巧
    GitHub是全球最大的开源社区,拥有丰富的资源和项目。对于程序员来说,学会如何打开并使用GitHub是非常重要的。本文将介绍一些基本的步骤和技巧,帮助初学者迅速掌握GitHub的使用方法。一、注册GitHub账号第一步,要打开GitHub...
    99+
    2023-10-22
  • 一起来聊聊JavaScript的事件委托、判断URL是否合法及全排列
    以上就是一起来聊聊JavaScript的事件委托、判断URL是否合法及全排列的详细内容,更多请关注编程网其它相关文章!...
    99+
    2022-11-22
    javascript
  • JavaScript条件判断语句如何使用
    本篇内容介绍了“JavaScript条件判断语句如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!假如...
    99+
    2024-04-02
  • bashif条件判断的使用
    目录if格式条件测试整数测试字符测试文件测试组合条件测试在bash中,if是可以对语句做选择执行,做if条件测试有整数测试,字符测试,文件测试三种形式。 if格式 单分支语法 if ...
    99+
    2023-02-16
    bash if条件判断 bash if判断
  • bash if条件判断的使用
    目录if格式条件测试整数测试字符测试文件测试组合条件测试在bash中,if是可以对语句做选择执行,做if条件测试有整数测试,字符测试,文件测试三种形式。 if格式 单分支语法 if 条件; then 语句1 ...
    99+
    2023-02-16
    bashif条件判断 bashif判断
  • 聊聊javascript函数参数的使用方法
    JavaScript是一种常用的编程语言,常常被用来为网站和应用程序创建交互性用户界面。函数是JavaScript中最常用的概念之一,允许开发人员在代码中组织和重复使用代码块。函数可以接受多个参数,开发人员可以根据需求灵活使用它们。本文将介...
    99+
    2023-05-14
  • Shell脚本中怎么使用IF条件判断和判断条件
    Shell脚本中怎么使用IF条件判断和判断条件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言:      无论什么编程语言...
    99+
    2023-06-09
  • JavaScript条件式和匹配条件的技巧
    本篇内容主要讲解“JavaScript条件式和匹配条件的技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript条件式和匹配条件的技巧”吧!&nb...
    99+
    2024-04-02
  • JavaScript如何使用逻辑AND/OR做条件判断
    小编给大家分享一下JavaScript如何使用逻辑AND/OR做条件判断,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用逻辑 AND/OR 做条件判断if变形语句!var fo...
    99+
    2024-04-02
  • mysql条件判断函数的具体使用
    目录IF(expr,v1,v2)函数IFNULL(v1,v2)函数CASE函数条件判断函数也被称为控制流程函数,根据满足的不同条件,执行响应的流程。mysql中进行条件判断的函数有if、ifunll和case等。 IF(...
    99+
    2023-01-09
    mysql条件判断 mysql判断条件函数
  • mysql条件判断语句怎么使用
    在MySQL中,条件判断语句通常用在SELECT、UPDATE、DELETE和INSERT语句中,用来筛选出符合条件的数据或...
    99+
    2024-04-09
    mysql
  • python中的条件判断语句的使用介绍
    目录1. 避免多层分支嵌套2. 封装过于复杂的逻辑判断3. 不同分支下的重复代码4. 合理使用三元表达式5. 常见技巧5.1德摩根定律5.2自定义类的魔法方法5.3在条件判断中使用 ...
    99+
    2024-04-02
  • Pytorch 使用tensor特定条件判断索引
    torch.where() 用于将两个broadcastable的tensor组合成新的tensor,类似于c++中的三元操作符“?:” 区别于python num...
    99+
    2024-04-02
  • 使用Golang判断字符串结尾字符的技巧
    使用Golang判断字符串结尾字符的技巧 在Golang中,判断字符串的结尾字符是一种常见的操作。通过使用strings包提供的函数,我们可以轻松实现这一功能。下面将介绍一些常用的技巧...
    99+
    2024-03-12
    字符串 golang 结尾
  • MySQL如何使用时间作为判断条件
    背景:在开发过程中,我们经常需要根据时间作为判断条件来查询数据,例如:当月,当日,当前小时,几天内...... 1. 当月 我们只需要使用一个mysql的MONTH(date)函数即可实现。(注意判断年份) MO...
    99+
    2022-05-10
    mysql 时间 判断条件
  • linux中如何使用shell 条件判断语句
    linux中如何使用shell 条件判断语句,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。常用系统变量 $0 当前程式的名称 $n 当前程式的第n个参数,n=1,2,&am...
    99+
    2023-06-13
  • 如何实现导入css文件使用判断条件
    这篇文章主要为大家展示了“如何实现导入css文件使用判断条件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现导入css文件使用判断条件”这篇文章吧。方案一: 在HTML文档中使用条件导入,...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作