Чтобы взять первые 5 символов строки в JavaScript, используйте slice(0, 5). Запись [0-5] для строки не подходит: это не диапазон символов. В JavaScript индексы начинаются с нуля, а второй аргумент slice не включается в результат
Пример:
const text = "JavaScript";
console.log(text.slice(0, 5)); // JavaS
Результат:
JavaS
- Почему именно slice(0, 5)
- Почему не [0-5]
- Сравнить первые 5 символов
- Что будет с короткой строкой
- slice и substring
- Когда использовать slice, а когда startsWith
- Проверка с пробелами и регистром
- Практический пример с input
- Частые ошибки
- Думать, что второй индекс включается
- Писать квадратные скобки как диапазон
- Не учитывать регистр
- Мини-задание
- Что почитать дальше по JavaScript
Почему именно slice(0, 5)
В строке JavaScript первые символы имеют индексы:
J -> 0
a -> 1
v -> 2
a -> 3
S -> 4
c -> 5
slice(0, 5) берет символы с индекса 0 до индекса 5, не включая 5. Поэтому в результат входят индексы 0, 1, 2, 3, 4 — ровно пять символов
Почему не [0-5]
Такая запись не делает диапазон:
text[0-5]
Выражение 0-5 сначала вычислится как -5. То есть получится попытка взять text[-5], а это не то, что нужно
Правильно:
text.slice(0, 5)
Сравнить первые 5 символов
Если нужно не просто взять, а проверить начало строки:
const code = "SALE-2026";
if (code.slice(0, 5) === "SALE-") {
console.log("Это промокод");
}
Если нужно проверить начало без ручного количества символов, часто удобнее startsWith:
if (code.startsWith("SALE-")) {
console.log("Это промокод");
}
Что будет с короткой строкой
Если строка короче пяти символов, slice(0, 5) вернет всю строку:
console.log("JS".slice(0, 5)); // JS
Это нормально. Ошибки не будет. Но если вам нужно строго проверять длину, добавьте условие:
if (text.length >= 5) {
console.log(text.slice(0, 5));
}
slice и substring
Для первых пяти символов можно написать и так:
text.substring(0, 5)
Но в учебных задачах я бы выбирал slice: он часто встречается не только в строках, но и в массивах, и его удобно запомнить как общий прием «взять часть»
Когда использовать slice, а когда startsWith
Если нужно получить кусок строки и дальше с ним работать, используйте slice:
const prefix = code.slice(0, 5);
console.log(prefix);
Если нужно только проверить начало строки, чаще читается startsWith:
if (code.startsWith("USER-")) {
console.log("Код пользователя");
}
Оба варианта нормальные. Разница в намерении: slice возвращает фрагмент, startsWith отвечает на вопрос «начинается ли строка так»
Проверка с пробелами и регистром
В пользовательском вводе часто бывают лишние пробелы:
const rawCode = " user-1289 ";
const normalizedCode = rawCode.trim().toUpperCase();
console.log(normalizedCode.slice(0, 5)); // USER-
trim() убирает пробелы по краям, toUpperCase() приводит строку к одному регистру. Это полезно, если пользователь может ввести user-1289, USER-1289 или строку с пробелом в начале
Практический пример с input
<input id="code" placeholder="Введите код">
<button id="check">Проверить</button>
<p id="result"></p>
<script>
const code = document.querySelector("#code");
const check = document.querySelector("#check");
const result = document.querySelector("#result");
check.addEventListener("click", () => {
result.textContent = code.value.slice(0, 5);
});
</script>
Пользователь вводит строку, а JavaScript выводит первые пять символов
Частые ошибки
Думать, что второй индекс включается
В slice(0, 5) символ с индексом 5 не входит в результат
Писать квадратные скобки как диапазон
Квадратные скобки берут один символ по индексу:
text[0]
Для диапазона нужен метод
Не учитывать регистр
"Sale-" и "SALE-" — разные строки. Для сравнения без регистра используйте toLowerCase()
Мини-задание
Возьмите строку USER-1289 и проверьте, начинается ли она с USER-. Сделайте два варианта: через slice(0, 5) и через startsWith
Что почитать дальше по JavaScript
Если нужен общий маршрут по теме, откройте рубрику JavaScript. Для соседних задач пригодятся эти разборы:
- JavaScript: как сравнить первые символы строки
- A JavaScript error occurred in the main process: как исправить
- If else в JavaScript: условия на живых примерах
- Java и JavaScript: в чем разница простыми словами



