What temperature is my stove?
JavaScript (ES6),  38 37  36 bytes
Expects an array of Boolean values, with false for + and true for -. Returns an integer.

a=&gt;a.map(c=&gt;a=a++?c?a-2:a%10:9&gt;&gt;c)|a

Try it online!
Commented
It's important to note that a++ with a = [ true ] is evaluated to NaN because it's first coerced to the string &quot;true&quot; and then to a number. That's why we can safely re-use the array a[] to store the temperature even when we get the singleton [ true ] as input.
a =&gt;             // a[] = input array, re-used to store the temperature
  a.map(c =&gt;     // for each command c in a[]:
    a =          //   update the temperature:
      a++ ?      //     if a is numeric and not equal to 0
                 //     (increment it afterwards):
        c ?      //       if this is a '-':
          a - 2  //         subtract 2
        :        //       else:
          a % 10 //         apply a modulo 10
      :          //     else:
        9 &gt;&gt; c   //       yield 4 if this is a '-', or 9 if this is a '+'
  ) | a          // end of map(); return the final result