Эта статья представляет собой расшифровку моей бесплатной серии YouTube об основах веб-разработки. Если вы предпочитаете смотреть, а не читать, посетите мой канал Dev Newbs.

Привет, новички разработчиков. Еще 3 способа покрытия. Сегодня мы рассмотрим ленивого аналога метода trim(), который обрезает только пробелы в конце строки. Давайте углубимся в это.

Метод trimEnd() удаляет пробелы в конце строки. Пробелы в нашем контексте — это все пробельные символы (пробел, табуляция, неразрывный пробел и т. д.) и все символы конца строки (перевод строки, возврат каретки и т. д.).

У метода также есть псевдоним trimRight(), который можно использовать взаимозаменяемо.

TrimEnd() не изменяет исходную строку и не имеет параметров.

Возвращаемое значение представляет собой строку, представляющую строку с удаленными пробелами в конце.

Давайте посмотрим, как это работает в примере 1.

const greeting = "     Dev Newbs!     ";
// untrimmed original
"UNTRIMMED CONTENT: '" + greeting + "'"
// OUTPUT: 
// UNTRIMMED CONTENT: '     Dev Newbs!     '
// whitespace trimmed from beginning and end
"  TRIMMED CONTENT: '" + greeting.trimEnd() + "'"
// OUTPUT:
// TRIMMED CONTENT: '     Dev Newbs!'
// alternative method name
" ALTERNATIVE NAME: '" + greeting.trimRight() + "'"
// OUTPUT:
// ALTERNATIVE NAME: '     Dev Newbs!'
// empty string
"    EMPTY STRING: '" + "".trimEnd() + "'"
// OUTPUT:
// EMPTY STRING: ''
// string with only whitespace
"ONLY WHITESPACES: '" + "\t\n  \r".trimEnd() + "'"
// OUTPUT:
// ONLY WHITESPACES: ''
const alphabet = "\t\n   A   B \n  C   D   ...   \n";
// untrimmed original
"UNTRIMMED CONTENT: \n'" + alphabet + "'"
// OUTPUT:
// UNTRIMMED CONTENT: 
// ' 
//    A   B 
//   C   D   ...   
// '
// whitespaces in "the middle" are kept
"  TRIMMED CONTENT: \n'" + alphabet.trimEnd() + "'"
// OUTPUT: 
// TRIMMED CONTENT: 
// ' 
//    A   B 
//   C   D   ...'
try {
    console.log("        NULL: '" + null.trimEnd() + "'");
}
catch(err) {
    console.log(err);
}
// OUTPUT:
// TypeError: Cannot read property 'trimEnd' of null
try {
    console.log("   UNDEFINED: '" + undefined.trimEnd() + "'");
}
catch(err) {
    console.log(err);
}
// OUTPUT:
// TypeError: Cannot read property 'trimEnd' of undefined

В первом случае мы видим, что все пробелы с конца исчезли после выполнения команды trimEnd. Также альтернативное имя метода дает нам идентичные результаты.

Если у нас есть пустая строка или строка, содержащая только пробелы, в результате мы получим пустую строку.

Конечно, с помощью trimEnd() мы можем избавиться не только от пробелов. Другой случай показывает нам, что мы фактически удаляем все пробелы, включая табуляции и новые строки. Но только с конца.

Последний случай, который следует рассмотреть, — это использование trimEnd() для «null», «undefined» или других специальных объектов. Если вы попытаетесь это сделать, вы получите TypeError.

TrimEnd() выполняется. Осталась лишь горстка. Как обычно, спасибо за внимание, скоро увидимся со следующим методом.