回到课程

首字母大写

重要程度: 5

写一个函数 ucFirst(str),并返回首字母大写的字符串 str,例如:

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

打开带有测试的沙箱。

我们不能“替换”第一个字符,因为在 JavaScript 中字符串是不可变的。

但是我们可以根据已有字符串创建一个首字母大写的新字符串:

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

这里存在一个小问题。如果 str 是空的,那么 str[0] 就是 undefined,但由于 undefined 并没有 toUpperCase() 方法,因此我们会得到一个错误。

存在如下两种变体:

  1. 使用 str.charAt(0),因为它总是会返回一个字符串(可能为空)。
  2. 为空字符添加测试。

这是第二种变体:

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

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

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

使用沙箱的测试功能打开解决方案。