Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: substring, string, JavaScript, slice, edge cases

Какие проблемы могут возникнуть при вызове substring()?

Вопрос проверяет понимание особенностей работы метода substring() в JavaScript, включая обработку граничных случаев и отличия от slice().

Короткий ответ

Метод substring() возвращает подстроку между двумя индексами. Проблемы могут возникнуть, если передать отрицательные значения или если первый индекс больше второго — в этом случае substring() автоматически меняет их местами. Также важно помнить, что substring() не поддерживает отрицательные индексы, в отличие от slice().

Длинный ответ

Особенности метода substring()

Метод substring() в JavaScript используется для извлечения подстроки из строки на основе начального и конечного индексов. Однако его поведение в некоторых случаях может быть неочевидным и приводить к ошибкам, если не учитывать особенности.

Основные проблемы

  • Отрицательные индексы: В отличие от slice(), substring() не поддерживает отрицательные значения. Если передать отрицательный индекс, он будет интерпретирован как 0.
  • Перестановка аргументов: Если первый аргумент больше второго, substring() автоматически меняет их местами. Это может привести к неожиданным результатам, если разработчик ожидает исключения.
  • Неявное приведение типов: Если передать нечисловые значения, они будут преобразованы в числа, что может вызвать путаницу.

Примеры кода

const str = 'Hello, World!';

// Отрицательный индекс
console.log(str.substring(-3, 5)); // 'Hello' (отрицательный стал 0)

// Первый индекс больше второго
console.log(str.substring(7, 0)); // 'Hello, ' (индексы поменялись местами)

// Сравнение с slice()
console.log(str.slice(-6, -1)); // 'World'
console.log(str.substring(-6, -1)); // '' (отрицательные стали 0, 0 > -1 -> пустая строка)

Вывод

Метод substring() удобен для простых операций, но требует осторожности при работе с отрицательными индексами или когда порядок аргументов может быть нарушен. Для более предсказуемого поведения рекомендуется использовать slice(), особенно в сложных сценариях.

Уровень

  • Рейтинг:

    3

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#substring

#string

#JavaScript

#slice

#edge cases

Подпишись на Java Developer в телеграм