Как программист, вы, вероятно, столкнетесь с ситуацией, когда вам нужно будет использовать первую букву строки с заглавной буквы. В JavaScript есть много способов добиться этого, большинство из которых включают методы JavaScript String .toUpperCase() и .charAt().

Метод .toUpperCase() возвращает строку, для которой он вызывается, но преобразован для вызова символов верхнего регистра.

let greeting = “Greetings, everybody.”;
console.log(greeting.toUpperCase());
// expected output: “GREETINGS, EVERYBODY.”

Однако просто использовать .toUpperCase() в нашей строке не получится, потому что мы хотим, чтобы заглавными были только первый символ в строке, а не вся строка. Вот тут-то и пригодится .charAt().

Метод .charAt() используется для возврата новой строки, состоящей из одного символа из строки, для которой он вызывается. Возвращаемый символ зависит от индекса, переданного .charAt() в качестве аргумента. Если индекс не указан, по умолчанию используется 0, а .charAt() вернет первый символ строки .

let dog = “Fido”;
let f = dog.charAt(0);
console.log(f);
//expected output: “F”

С .charAt() и .toUpperCase() мы теперь можем использовать первую букву любой строки с заглавной буквы. Однако нам нужно будет использовать метод .slice(), чтобы объединить остальные непреобразованные буквы строки. Метод .slice() возвращает неглубокую копию строки или массива, начинающуюся и заканчивающуюся указанными индексами. Если второй аргумент не указан, то срез берется от указанного начального индекса до конца строки или массива.

let hello = “hello there.”
let capitalized = hello.charAt(0).toUpperCase() + hello.slice(1)
console.log(capitalized)
 // expected output: “Hello there.”

Для этой цели метод substring() может использоваться взаимозаменяемо с методом .slice(). Если какой-либо из аргументов substring() - NaN, они будут рассматриваться как 0.

let goodbye = “goodbye friends.”
let capitalized = goodbye.charAt(0).toUpperCase() + goodbye.substring(1)
console.log(capitalized)
 // expected output: “Goodbye friends.”

Наконец, метод .charAt() можно полностью опустить и вместо этого заменить на [] и индекс символа, который вы хотите сделать в верхнем регистре.

let snack = “almonds”
 
 let capitalizedSnack = snack[0].toUpperCase() + snack.substring(1).
 
 console.log(capitalizedSnack)
 // expected output “Almonds”

Первая буква каждого слова с заглавной буквы

Часто во время технических собеседований задают вопрос о создании функции, которая будет использовать первую букву каждого слова в строке с заглавной буквы. С помощью приведенных выше примеров решение этой проблемы является относительно простым и легким делом.

Первый шаг - это split строка в массив, разделенный пробелами (" "), после чего создается новая переменная с именем capitalizedWords и устанавливается равной пустому массиву.

Затем мы будем использовать for loop для итерации по нашему только что разделенному массиву. Внутри for loop мы будем использовать первый символ текущего элемента с заглавной буквы, объединим остальную часть слова и push все это в массив capitalizedWords.

Чтобы завершить функцию, мы вернем capitalizedWords массив и join обратно в строку за пределами for loop.

Заключение

Как программист использование заглавной буквы в первой букве строки - это концепция, с которой вы, несомненно, столкнетесь, будь то в своем собственном проекте или во время технического собеседования. Эта концепция упрощается благодаря комбинации таких методов JavaScript, как .toUpperCase(), .charAt(), .slice() и .substring().