В чем разница методов для строки .slice() и .substr()
3 года назад
Ivan Gagarinov
Ответы
Оба метода работают схожим образом, они возвращают подстроку в заданном диапазоне:
Метод slice принимает первым параметром индекс, с которого начинается извлечение, а вторым индекс, по которому идёт извлечение.
Метод substr первым параметром принимает тоже индекс, с которого идёт извлечение, а вторым параметром длину извлекаемой подстроки (поэтому в примере этот метод извлек на один символ больше).
Метод slice более универсальный и работает также с массивами. Метод substr считается устаревшим и не рекомендуется к использованию. Вместо него лучше использовать substring - 'этот метод работает так же, как slice.
3 года назад
Ivan Gagarinov
Методы .slice() и .substr() используются для извлечения части строки, но у них есть различия.
Метод .slice():
- Принимает два аргумента: начальный индекс и конечный индекс, не включительно.
- Если конечный индекс не указан, то метод возвращает подстроку до конца строки.
- Можно указывать отрицательные индексы, которые отсчитываются с конца строки.
Метод .substr():
- Принимает также два аргумента, но начальный индекс и длину подстроки.
- Также, если длина не указана, метод возвращает подстроку до конца строки.
- Можно указыать отрицательный начальный индекс, но не отрицательную длину.
Основное различие в том, что .slice() использует начальный и конечный индексы, а .substr() использует начальный индекс и длину.
год назад
Ivan Mamtsev
Метод substr() не является частью стандарта ECMAScript, а был добавлен в браузеры Netscape Navigator и Internet Explorer в далеком прошлом. В настоящее время он заменен на методы substring() и slice(), которые являются частью стандарта ECMAScript и поддерживаются всеми современными браузерами.
Во-вторых, метод substr() имеет неоднозначное поведение при передаче отрицательных значений в качестве аргументов. Например, если передать отрицательное значение второго аргумента, то метод substr() будет воспринимать его как индекс символа с конца строки, а не как количество символов, которые нужно извлечь. Это может привести к неожиданным результатам и ошибкам в коде.
3 года назад
Aleksey





