How does parsing a c# date to be a javascript date even work with the ')'?

I know that to convert a C# date, like /Date(1430341152570)/ to a JavaScript date, it's the following:

var part = "/Date(1430341152570)/".substr(6); // => "1430341152570)/"
var jsDate = new Date(parseInt(part));

My question: how is the part value, which includes a trailing )/ able to be parsed into an int via parseInt? Wouldn't JS throw an error on trying to convert something that has the )/ characters? It would make more sense to me if the part value was something like "/Date(......)/".substr(6).replace(')/','') b/c at least you're making it a string of #'s to be parsed to an int.

Jon Skeet
people
quotationmark

From the Mozilla documentation:

If parseInt encounters a character that is not a numeral in the specified radix, it ignores it and all succeeding characters and returns the integer value parsed up to that point. parseInt truncates numbers to integer values. Leading and trailing spaces are allowed.

) isn't a numeral, so everything from there onwards is ignored as specified.

Or from the ES6 draft standard:

parseInt may interpret only a leading portion of string as an integer value; it ignores any code units that cannot be interpreted as part of the notation of an integer, and no indication is given that any such code units were ignored.

people

See more on this question at Stackoverflow