JS para impacientes

12: Como executar várias expressões em uma linha?

February 12, 2020

https://www.instagram.com/tv/B9rt_w-BUft/

Podemos usar a vírgula , para executar várias expressões em uma linha. Ele executa da esquerda para a direita e retorna o valor do último item à direita.

let x = 5

x = (x++ , x = addFive(x), x *= 2, x -= 5, x += 10)

function addFive(num) {
  return num + 5
}

O que desgraça essa budega faz?

x++ // x vira 1

x = addFive(x) // 1 + 5 = x vira 6

x *= 2 // 7 * 2 = x vira 22

x -= 5 // x vira 17

x += 10 // 17 + 10 = x vira 27

Nunca seja a desgraça de programador que escreve um código xemelento desse.

Se eu fosse reescrever esse código eu deixaria assim:

let originalValue = 5

const INCREMENTED_VALUE = originalValue++ 
const INCREMENTED_VALUE_PLUS_FIVE = addFive(INCREMENTED_VALUE)
const RESULT_VALUE_MULTIPLIED_BY_TWO = INCREMENTED_VALUE_PLUS_FIVE * 2
const DECREMENTED_RESULT_BY_FIVE = RESULT_VALUE_MULTIPLIED_BY_TWO - 5
const RESULT_ADDED_WITH_TEN = DECREMENTED_RESULT_BY_FIVE + 10
originalValue = RESULT_ADDED_WITH_TEN

function addFive(num) {
  return num + 5
}

Baseado no excelente artigo: 70 Interview Questions


Está curtindo os conteúdos da Reativa? Quer que a gente te ajude a ser um dev melhor? Clique aqui.