parseInt works by just passing a string of a number, or a number and it will attempt to parse what is passed to it as a number.
The parseInt method might not always return expected results in some situations. For example the parseInt method converts to a string first and if it is a number the goes off into notation, then the letter e char will not be recognized as a number and will parse an int based on what comes before it.
There is also the nature of the max safe integer, when adding anything to that and going beyond the max safe int that too can result in unexspected results as well.
The Number function can be used to convert a string to a number as well. However it will not parse to an integer, at least not my itself.