替换指令开关和各种“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!"
如果您在其他情况下切换,则可以使用 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}`
}
开关问题
开关中存在各种问题,控制流程的变化与代码块之间的距离和 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!"
全球视野
对象字面量是 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
