What will be the result of the following code snippet?
``let stringToNum = parseInt("123ab");``

# Understanding JavaScript's parseInt Function

The JavaScript parseInt() function is a built-in global function that is used to convert a string to an integer. Let's analyze the question to understand how this function works.

In the question, `let stringToNum = parseInt("123ab");` is a piece of JavaScript code where the `parseInt` function is taking the string "123ab" as a parameter. It's important to remember that the `parseInt` function only converts the first number it finds in a string and continues the conversion until a character that isn't a number is found.

Therefore, when parsing the given string "123ab", it starts at the first character '1', which is a number. It continues to the next characters '2' and '3', which are also numbers. The function will stop at 'a' because it's not a number. Hence, the given string "123ab" is parsed into 123. For this reason, the correct answer is '123'.

An interesting note would be that if our code was `let stringToNum = parseInt("ab123");`, in this case, `stringToNum` would become `NaN`. This is because `parseInt` starts from the beginning of the string and stops when it encounters a non-numeric character. As 'a' and 'b' are not numbers, our parser immediately stops and hence 'NaN' is returned, which means 'Not a Number'.

Just remember, `parseInt` is a powerful tool that can convert strings that start with numbers to integers, but if the string starts with a non-numeric character, the function will return NaN.

As a best practice, it's recommended to always use the radix parameter of `parseInt`, which represents the numeral system to be used, to ensure predictable results. For example, if you want to use the decimal numeral system, you can specify the radix as 10: `parseInt("123ab", 10);`. This will also return '123'.

### Related Questions

Do you find this helpful?