TrimLeft: примеры (JAVASCRIPT)

Удаление начальных пробелов в JavaScript с помощью trimLeft
Раздел: Строки, Форматирование
trimLeft: string

Метод trimLeft() удаляет пробельные символы с начала строки. Этот метод полезен при обработке пользовательского ввода, чтении данных из файлов или работе с текстом, где требуется устранить нежелательные отступы или пробелы в начале строки.

Основные сведения

В JavaScript trimLeft() является методом строковых объектов. Он не изменяет исходную строку, а возвращает новую строку, из которой удалены все пробельные символы с левой стороны. К пробельным символам относятся: обычный пробел, табуляция, неразрывный пробел и другие символы, соответствующие категории Space Separator в Unicode.

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

Примеры использования

Базовый пример:

const str = '   Hello World';
console.log(str.trimLeft());
'Hello World'

Строка без начальных пробелов:

const str = 'Hello World';
console.log(str.trimLeft());
'Hello World'

С различными пробельными символами:

const str = '\t\n   Hello World';
console.log(str.trimLeft());
'Hello World'

Похожие функции в JavaScript

trim() удаляет пробельные символы с обоих концов строки. Используется, когда необходимо очистить строку с обеих сторон.

trimRight() или trimEnd() удаляют пробельные символы только с правой стороны строки. Эти методы взаимозаменяемы, но trimEnd() является стандартизированным названием.

trimStart() — аналог trimLeft() с стандартизированным названием. Рекомендуется использовать trimStart() для обеспечения согласованности кода.

Типичные ошибки

Ожидание модификации исходной строки:

let str = '   text';
str.trimLeft();
console.log(str); // Исходная строка не изменилась
'   text'

Метод возвращает новую строку, поэтому результат нужно присваивать.

Попытка использовать с null или undefined:

let value = null;
console.log(value.trimLeft());
TypeError: Cannot read properties of null

Перед использованием нужно проверить, что значение является строкой.

Изменения в последних версиях

Метод trimLeft() был стандартизирован в ECMAScript 2019 (ES10). В более ранних версиях JavaScript этот метод мог отсутствовать или требовать полифила. Современные браузеры и среды выполнения Node.js поддерживают этот метод. Также была добавлена функция trimStart() как альтернативное имя, которое рекомендуется для использования.

Расширенные примеры

Обработка массива строк:

Пример javascript
const lines = ['  first', '  second', 'third  '];
const trimmed = lines.map(line => line.trimLeft());
console.log(trimmed);
['first', 'second', 'third  ']

Цепочка методов:

Пример javascript
const str = '   Hello World   ';
const result = str.trimLeft().toUpperCase();
console.log(result);
'HELLO WORLD   '

С пользовательскими объектами:

Пример javascript
const obj = { toString: () => '   text' };
console.log(String(obj).trimLeft());
'text'

Использование с регулярными выражениями:

Пример javascript
const str = '   Hello World';
// Альтернативная реализация с заменой
const customTrimLeft = (str) => str.replace(/^\s+/, '');
console.log(customTrimLeft(str));
'Hello World'

Аналоги в других языках программирования

PHP:

$str = '   Hello World';
echo ltrim($str);
Hello World

Функция ltrim() может принимать второй аргумент — список символов для удаления.

Python:

str = '   Hello World'
print(str.lstrip())
Hello World

Метод lstrip() также может принимать аргумент — строку символов для удаления.

MySQL:

SELECT LTRIM('   Hello World');
Hello World

Функция LTRIM() удаляет только пробелы, а не все пробельные символы.

JS trimLeft function comments

En
TrimLeft Removes whitespace from the beginning of a string