Back to the lesson

Uppercast the first character

importance: 5

Write a function ucFirst(str) that returns the string str with the uppercased first character, for instance:

ucFirst("john") == "John";

Open a sandbox with tests.

We can’t “replace” the first character, because strings in JavaScript are immutable.

But we can make a new string based on the existing one, with the uppercased first character:

let newStr = str[0].toUpperCase() + str.slice(1);

There’s a small problem though. If str is empty, then str[0] is undefined, so we’ll get an error.

There are two variants here:

  1. Use str.charAt(0), as it always returns a string (maybe empty).
  2. Add a test for an empty string.

Here’s the 2nd variant:

function ucFirst(str) {
  if (!str) return str;

  return str[0].toUpperCase() + str.slice(1);
}

alert( ucFirst("john") ); // John

Open the solution with tests in a sandbox.