For parameter type errors, it makes perfect sense to reference JavaScript types (string, object, etc) as parameters are on JavaScript functions.
But for operand types, it's a little bit more peculiar because although, internally, we're using JS to evaluate expressions - from the user's point of view - this is assembly language not JS and error messages should reflect the domain that the user is currently "in".
For parameter type errors, it makes perfect sense to reference JavaScript types (string, object, etc) as parameters are on JavaScript functions.
But for operand types, it's a little bit more peculiar because although, internally, we're using JS to evaluate expressions - from the user's point of view - this is assembly language not JS and error messages should reflect the domain that the user is currently "in".