Você conhece a função Array.includes() do javascript? Essa função foi especificada no ES7 e é capaz de tornar uma condicional bem mais legível.
Essa função determina se um parâmetro está contido no array.
const numbers = [1, 2, 3, 4]
const strings = ['Gabriel', 'Rufino']
numbers.includes(3) // true
numbers.includes(6) // false
strings.includes('Rufino') // true
strings.includes('Fernando') // false
Conhecendo essa função, agora você pode escrever condicionais que comparam uma variável com muitas possibilidades mais legíveis trocando o or
pelo Array.includes()
usando a variável como parâmetro. Veja o exemplo:
Usando o operador or
function get(request, response) {
const access = request.access
if (access === 'maintainer' || access === 'admin' || access === 'developer') {
return response.json({ allowed: true })
} else {
return response.json({ allowed: false })
}
}
Usando Array.includes()
function get(request, response) {
const access = request.access
if (['maintainer', 'admin', 'developer'].includes(access)) {
return response.json({ allowed: true })
} else {
return response.json({ allowed: false })
}
}
Funciona com NaN
NaN === NaN // false
[1, 2, 3, NaN].includes(NaN) // true
Top comments (0)