matlab中if语句的用法_避免在JavaScript代码中使用if语句的方式方法

b1eb67068af8324847de171b87517861.gif更多精彩,请点击上方蓝字关注我们! 在JavaScript代码中使用if语句,会让人有时候觉得很痛苦。 其实,在很多地方,我们可以不需要它们。 我们可以将if语句替换为其他类型的代码,以使我们的代码更短,更清晰。 在本文中,我们将探讨可以在JavaScript代码中替换if语句的地方。 三元运算符 如果我们要返回具有一个条件的一个事件,否则返回其他东西,则三元运算符很有用。 例如,我们可以这样写:
const bar = foo ? 'foo' : 'bar';
在上面的代码中,如果foo为true,则返回'foo'。否则,我们返回'bar'。 然后,如果foo为true,则bar为'foo'。否则,bar为'bar'。 上面代码比以下简短得多:
const bar = ((foo) => {  if (foo) {    return 'foo'  }  return 'bar'})(foo);
使用三元运算符,我们不必使用内部if语句定义一个匿名函数,如果foo为true,则返回“ foo”,否则返回“ bar”。 另外,定义后,我们不必立即使用foo调用它。因此,它更容易读写。 但是,我们不应该通过嵌套它们来滥用三元运算符:
const foo = a ? b ? c ? 'foo' : 'bar' : 'baz' : 'qux';
上面的代码很难阅读,因为我们必须在括号内加括号以在我们自己的脑海中划定界限。 这在我们的大脑上很难解决,因此我们不应该采用上述表达。 短路表达式 我们将使用&&或|| 的操作员称为短路操作员。 如果第一个操作数为真,则&&运算符对于在第二个操作数中运行代码很有用。|| 如果第一个操作数为false,则运算符对于在第二个操作数中运行代码很有用。 例如,我们可以按以下方式使用它:
const isOnline = true;const makeRequest = () => {  //...}isOnline && makeRequest();
在上面的代码中,如果isOnline为true,则调用makeRequest。因此,由于isOnline为true,所以我们调用makeRequest函数。 这将替换以下if语句:
if (isOnline) {  makeRequest();}
如我们所见,在使用相同的isOnline和makeRequest值的情况下,使用if语句需要3行代码来完成相同的操作。 与|| 运算符,如果第一个操作数为false,则可以使用它来设置默认值。 例如,我们可以编写以下代码:
const foo = null;const bar = foo || 'abc';
在上面的代码中,我们将foo设置为null,这是false。因此,在第二行,|| 运算符将计算foo常量,该常量为null,因此也为false。 然后,由于它是false,它将继续评估第二个操作数,然后将其返回。 因此,bar的值为'abc'。编码:
const bar = foo || 'abc';
替换以下代码:
const bar = ((foo) => {  if (!foo) {    return 'abc'  }  return foo;})(foo)
如我们所见,我们必须定义一个匿名函数,然后调用它。 该函数将foo作为参数,然后在其内部检查foo是否虚假。如果是虚假的,那么我们返回'abc'。否则,我们返回foo。 ||的替代品 运算符更长,更复杂。 避免使用switch语句 switch语句的许多用法可以用更简单的方法代替。例如,代替编写以下switch语句:
const getDescription = (breed) => {  switch (breed) {    case 'border':      return 'kind dog';    case 'pitbull':      return 'angry dog';    case 'german':      return 'smart dog';    default:      return ''  }}const desc = getDescription('border');
我们可以将值放在对象中,如下所示:
const descs = {  'border': 'kind dog',  'pitbull': 'angry dog',  'german': 'smart dog',}const desc = descs['border']
在上面的代码中,我们将case值作为属性,将返回值作为属性的值。 然后,我们可以像在最后一行中一样获取值,而不用调用longyswitch语句。 如果要获取默认情况,可以使用||。如下:
const desc = descs['foo'] || '';
现在,我们将一个长的switch语句缩小为一个小对象。 结论 在许多情况下,我们可以减少if并将语句切换为较短的代码。我们应该记住要使用三元运算符,短路运算和将switch语句更改为字典对象的快捷方式,以使我们的代码更短,更清晰。

b60b832442c2f7afb627d39e86fd0522.png

147c2b3bcc0f9905051e4dc40dd975cf.pngEND

89d55b777afa00cc3a6f07fcc623885c.png

碧茂课堂精彩课程推荐:

1.Cloudera数据分析课;

2.Spark和Hadoop开发员培训;

3.大数据机器学习之推荐系统;

4.Python数据分析与机器学习实战;

78f23f7261b71dc09b277163e1ea291f.png

详情请关注我们公众号:碧茂大数据-课程产品-碧茂课堂

现在注册互动得海量学币,大量精品课程免费送!

7e99b89f5a9a840eac3b66f6d0eeb3f5.png

关注最新行业动态,

加群进行技术交流!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值