Como utilizar argumentos de la "funcion padre" dentro de if o funciones

function checkCashRegister(price, cash, cid) {
  if(price < cash){
    let sinFondos = cid.reduce((acc, el)=>{
      return acc += el[1];
    }, 0)
    if(sinFondos < (cash - price)){
      return {status: "CLOSED", change: cid}
    }
  }
}
console.log(
checkCashRegister(19.5, 20, [["PENNY", 0.5], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]])
);

¿Como cojo los valores actuales de price y cash para operar aquí?

  if(sinFondos < (cash - price)){...}

O por ejemplo también si por algún caso hiciese un:

function x(price, cash){...}

o, si no:

let sumar2 = ()=>{
return price + 2;

No se como utilizar los valores de los argumentos en otros lugares
Muchas gracias

Cual es el enlace del ejercicio?

Cuando se puede acceder a variables:

  • una función hija puede acceder a variables de una función padre, no importa cuantas veces hayas anidado
  • Si creas una variable global podrás acceder a ella en cualquier parte, "soyVar " es una variable global
    image

Cuando no puedes acceder a una variable:

  • una función padre no puede acceder a una variable creada en una función hija
  • una funcion no puede acceder a una variable que fue creada dentro de otra variable

En tu caso, como los argumentos son creados en la función padre y el if es hijo de la funcion, si puedes acceder a los argumentos desde el ciclo if. Pero las variables creadas dentro del ciclo if no podrán ser leídas fuera del if.

Espero y haya entendido tu pregunta, puedes buscar más información buscando “scope de una variable”