Question
Answer and Explanation
Capitalizing the first letter of a string in JavaScript is a common task. Here's how you can achieve it using a few different methods:
Method 1: Using `charAt()`, `toUpperCase()`, and `slice()`
This method involves extracting the first character, converting it to uppercase, and then concatenating it with the rest of the string.
function capitalizeFirstLetter(str) {
if (!str) return ""; // Handle empty strings
return str.charAt(0).toUpperCase() + str.slice(1);
}
// Example usage:
const myString = "hello world";
const capitalizedString = capitalizeFirstLetter(myString);
console.log(capitalizedString); // Output: "Hello world"
Explanation:
- `str.charAt(0)`: This extracts the first character of the string.
- `.toUpperCase()`: This converts the extracted character to uppercase.
- `str.slice(1)`: This extracts the rest of the string, starting from the second character.
- The `+` operator concatenates the uppercase first character with the rest of the string.
Method 2: Using Array Destructuring and Template Literals
This method uses array destructuring to separate the first character and the rest of the string, and template literals for concatenation.
function capitalizeFirstLetter(str) {
if (!str) return ""; // Handle empty strings
const [first, ...rest] = str;
return `${first.toUpperCase()}${rest.join('')}`;
}
// Example usage:
const myString = "javascript is fun";
const capitalizedString = capitalizeFirstLetter(myString);
console.log(capitalizedString); // Output: "Javascript is fun"
Explanation:
- `const [first, ...rest] = str;`: This uses array destructuring to assign the first character to `first` and the rest of the string to `rest` as an array.
- `${first.toUpperCase()}${rest.join('')}`: This uses a template literal to concatenate the uppercase first character with the rest of the string (joined back into a string using `join('')`).
Method 3: Using Regular Expressions
This method uses a regular expression to match the first character and replace it with its uppercase version.
function capitalizeFirstLetter(str) {
if (!str) return ""; // Handle empty strings
return str.replace(/^./, (char) => char.toUpperCase());
}
// Example usage:
const myString = "coding is awesome";
const capitalizedString = capitalizeFirstLetter(myString);
console.log(capitalizedString); // Output: "Coding is awesome"
Explanation:
- `str.replace(/^./, (char) => char.toUpperCase())`: This uses the `replace` method with a regular expression `^.` to match the first character of the string. The callback function `(char) => char.toUpperCase()` converts the matched character to uppercase.
All three methods effectively capitalize the first letter of a string in JavaScript. Choose the method that you find most readable and suitable for your project. Remember to handle edge cases like empty strings to avoid errors.