Improving function that parses string and returns first integer present
I believe you have either misunderstood the task, or misunderstood Number.isNaN. In any case the if doesn't do anything usefull. Number.isNaN returns true only when the value is exactly NaN, which is not a valid input for your function anyway.
Then you are not checking if search() isn't matching anything (and thus searchFrom is -1). It doesn't really matter, because substr(-1) simply returns the last character, but it would make the code better to understand.
Use const instead of let when the value doesn't change.
Personnally I'd use .match() instead of .search(), because it returns the matched string directly (in an array):
function parseFirstInt(str) {
  // Check if the paramter is a object with the method `match`
  if (!str.match) {
    return NaN; 
  }
  const match = str.match(/[-+]?[0-9]+/);
  if (match &amp;&amp; match[0]) {
    return parseInt(match[0], 10);
  }
  return NaN;
}