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)