Someone posted this link to the MDN in a comment, and I think it was very helpful. It describes things like ErrorTypes very thoroughly.
EvalError — Creates an instance representing an error that occurs regarding the global function eval().
InternalError — Creates an instance representing an error that occurs when an internal error in the JavaScript engine is thrown. E.g.
“too much recursion”.RangeError — Creates an instance representing an error that occurs when a numeric variable or parameter is outside of its valid
range.ReferenceError — Creates an instance representing an error that occurs when de-referencing an invalid reference.
SyntaxError — Creates an instance representing a syntax error that occurs while parsing code in eval().
TypeError — Creates an instance representing an error that occurs when a variable or parameter is not of a valid type.
URIError — Creates an instance representing an error that occurs when encodeURI() or decodeURI() are passed invalid parameters.