レッスンに戻る

最初の文字を大文字にする

重要性: 5

最初の文字を大文字化して文字列 str を返す関数 ucFirst(str) を書いてください。例:

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

テストと一緒にサンドボックスを開く

JavaScript では文字列はイミュータブル(不変)なので、最初の文字を “置換” することはできません。

しかし、既存のものをベースに、最初の文字が大文字化された新しい文字列を作ることはできます。:

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

が、そこには少し問題があります。str が空の場合、str[0] は未定義です。なのでエラーになります。

ここでは2つのバリアントがあります:

  1. str.charAt(0) を利用する。それは常に文字列を返します(恐らく空です)。
  2. 空文字用のテストを追加する。

これは2つ目のバリアントです:

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

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

alert( ucFirst("john") ); // John
function ucFirst(str) {
  if (!str) return str;

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

サンドボックスでテストと一緒に解答を開く