发布于 2026-01-06 3 阅读
0

替换指令开关和各种“if 和 else”,使用对象文字 - [pt-BR]。

替换指令开关和各种“if 和 else”,使用对象文字 - [pt-BR]。

替代文字

开始使用 Switch 了吗?

嗯,切换到接收数据的功能,并分析数据;为了解决这些“案件”,我们执行了一项指令,以防止冲突和勇气的发生。

function UserPolicy(type) {
  switch(type) {
    case 'admin':
      return `This User is Admin!`
      break
    case 'client':
      return 'This User is Client!'
      break
    case 'salesman':
      return 'This User is Salesman!'
      break
    default:
      return 'Ops, this guy doesn\'t have user profile'
  }
}

UserPolicy() // "Ops, this guy doesn't have user profile"
UserPolicy('admin') // "This User is Admin!"
Enter fullscreen mode Exit fullscreen mode

如果您在其他情况下切换,则可以使用 uneco valor - dentro da opção,usamos um case para avaliar em relação a cada valor。

如果使用其他声明,则可能会发生一些错误,如果使用不当,可能会滥用 if e else:

function UserPolicy(type) {
  let userType
  if (type === 'admin') {
    userType = 'This User is Admin!'
  } else if (type === 'client') {
    userType = 'This User is Client!'
  } else if (type === 'salesman') {
    userType = 'This User is Salesman!'
  } else {
    userType = 'Ops, this guy doesn\'t have user profile'
  }

  return `User is type: ${userType}`
}
Enter fullscreen mode Exit fullscreen mode

开关问题

开关中存在各种问题,控制流程的变化与代码块之间的距离和 JavaScript 的恢复无关,因此开关不可用。 JavaScript 并不是最好的设计,也不是 seu 设计。要求爱好者打破手册;说明 cada 案例,如果您在购买和未来可能遇到困难时遇到错误,那么这将是非常糟糕的! Temos que tratar isso com muita cautela。

在 JavaScript 中,我们需要使用一些对象来替代 switch,但我们无法使用 switch - então 来替代 switch 中的对象文字?任何对象都可以灵活地使用,并且具有良好的合法性和操作能力,并且不符合操作手册的规定;卡达案。我希望我的朋友们能够从新开发 JavaScript,并为 padrão 提供对象。

不使用开关的理由

  • À medida que o número de Cases aumenta, o desempenho do object (tabela de hash) fica melhor que o custo médio do switch(a ordem da questão do caso)。哈希表中的对象和哈希表的属性,可以通过一个可用的卡达案例来解决,包括通讯和问题。

  • 对象字面量是维持和立法的基础。 Também não precisamos nos preocupar com “breaks”;声明和 casos que se enquadram - é apenas um objeto simples。

正常情况下,我们会切换到功能和恢复的价值。 Vamos fazer、mesmo aqui、transformar 或 switch case 是一个功能,可用于返回对象文字:

function UserPolicy(type) {
  // Criamos uma constante que recebe um objeto, e cada uma das propriedades
  // será os valores correspondentes aos nossos types
  const Users = {
    admin: 'This User is Admin!',
    client: 'This User is Client!',
    salesman: 'This User is Salesman!',
    default: 'Ops, this guy doesn\'t have user profile'
  }


  return Users[type] || Users.default
}

UserPolicy() // "Ops, this guy doesn't have user profile"
UserPolicy('admin') // "This User is Admin!"
Enter fullscreen mode Exit fullscreen mode

全球视野

对象字面量是 JavaScript 中最自然的控制方式,可以在旧的情况下进行切换,并且可能会出现难以解决的错误。 Os objetos são mais extensíveis, sustentáveis e podemos testá-los muito melhor.这是设计的一部分,也是我们在程序之外的日记中的一部分。对象字面量可以提供一些功能,并且可以在对象类型之外实现灵活的灵活性! Cada função 并非字面上的意思,但它是对 função 的功能的恢复。

// Não estou ditando regra - é apenas mais uma form de solucionar os Problemas do nosso dia a dia.

文章来源:https://dev.to/tauantcamargo/substitua-sua-instrucao-switch-e-varios-if-and-else-usando-object-literals-pt-br-4po9