스위치 대신 "if 및 else"를 바꾸면 Object Literals - [pt-BR]을 사용할 수 있습니다.
9105 단어 programmingjavascriptreact
지금 스위치를 사용하시겠습니까?
Um switch é uma função que recebe dados, e esses dados serão analisados; se esses dados forem iguais a um de nossos "cases", ele executa a instrução que está inserida no bloco de código e retorna um valor.
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!"
O switch é semelhante às instruções ife else, será avaliado um único valor - dentro da opção, usamos um case para avaliar em relação a cada valor.
Quando você usa muitas declarações de if e else, tem algo muito errado acontecendo, geralmente você deve avaliar usar outra abordagem, aqui está um caso de abuso de 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}`
}
com o 스위치의 문제
스위치와 같은 다양한 문제가 있으며, 프로세스를 제어할 수 있는 플럭스 제어 프로세스는 제어 블록에서 제어 블록으로, 또는 JavaScript 미국 차베스를 다시 시작하여 스위치로 전환할 수 있습니다. Sintaticamente, não é um dos melhores do JavaScript, nem o seu design. 추가로 추가로 설명서를 깨는 경우; instruções em cada case, o que pode levar a erros difíceis de depuração e aninhados futuramente, caso nos esqueçamos! Temos que tratar isso com muita cautela.
Costumamos usar pesquisas de objeto para muitas coisas em JavaScript, muitas vezes para coisas que nunca contemplaríamos usando o switch - então por que não usar um Object Literal para substituir o switch? Os objetos são muito mais flexíveis, têm melhor legibilidade e capacidade de manutenção e não precisamos quebrar manualmente; 카다 케이스. 이 작업은 자바스크립트에서 새로운 기능을 제공하는 것보다 훨씬 더 많은 작업을 수행할 수 있게 해 줍니다.
Motivos para não usar 스위치
Normalmente, colocaríamos um switch dentro de uma função e obteríamos um valor de retorno. Vamos fazer o mesmo aqui e transformar o switch case em uma função utilizável com retorno de um Object Literal:
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!"
Visão 글로벌
객체 리터럴은 자바스크립트에서 자연스럽게 유동적으로 제어할 수 있으며, 반대로 전환하면 문제가 해결되고 오류가 발생하기 어렵습니다. Os objetos são mais extensíveis, sustentáveis e podemos testá-los muito melhor. Eles também fazem parte de um padrão de design e são comumente usados diariamente em outras tarefas de programação. Os Object Literals podem conter funções e qualquer outro tipo de objeto, o que os torna realmente flexíveis! Cada função no literal também tem escopo de função, para que possamos retornar o fechamento da função pai.
//Não estou ditando regra - é apenas mais uma forma de solucionar os problemas do nosso dia a dia.
Reference
이 문제에 관하여(스위치 대신 "if 및 else"를 바꾸면 Object Literals - [pt-BR]을 사용할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lukyhenson/substitua-sua-instrucao-switch-e-varios-if-and-else-usando-object-literals-pt-br-4po9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)